copying material between objects with different unknown shaders
sriesch
Posts: 4,241
Let's say I have two objects in my scene, and I want to duplicate the material from one and apply it to the other. However, Edit > Copy > "Copy selected surface(s)" and Edit > Paste > "Paste to Selected Surface(s)" only copies the parameter settings, not the actual shader being used, right? So if they both used the same shader, I'm good. But if they use two different shaders that have different parameters (and I have no idea what shaders products use), how can I do this? Or am I misunderstanding how something works here?
Comments
I might be mistaken here but I think you can save a shader preset (not just material, shader) from your first object and then apply it to second object.
Yes, you need a preset to apply a shader - copy and paste is for settings only.
Thanks, saving as a preset, reapplying, then deleting the saved preset did the trick.
Richard can't we use the Copy and Paste Surfaces function from the Surfaces Pane Option Box? Or is that just for texture based surfaces?
Pete when was the last time you tried to apply a MAT pose for one item onto a completely different item, DS tries to apply it but because none of the surfaces match to what's in the MAT pose file nothing happens. It's the same general idea trying to copy settings from shader A to shader B, their internal definitions are completely different, so nothing happens.
Humm I have never had any trouble with using the Copy and Paste Surfaces function though admittingly I haven't done much for a while. ;)
If it is a straight forward shader then no problem, if it is texture based then I could see an issue.
I just tested this by loading a shader onto a cube and then copyied and pasted the same shader on to Genesis, no problem at all.
Ah, that's a common misunderstanding, a shader is usually a 2 piece system, part one is the shader itself, in DS that's a .SDL file, which tells the render engine how to manipulate the surface. Part two is a definitions file, usually a .DSE, this is a go between file, it creates the channels we see in the surfaces tab, Diffuse color, Opacity etc, and passes the changes we make to them to the shader and render engine.
What most people call a shader is actually a shader preset, it tells DS which definitions file to use, and then applies any settings to the channels that have just been created by that definitions file.
As a result when you copy a surface your only copying the channel settings, and not the actual channel, so when you paste it to a surface using a different shader nothing happens, as your pasting to the wrong channels.
Arrr like I can't copy a Uber Surface based material zone on to a Daz Default surface...got you. Cheers for taking the time to enlighen me Bejaymac it is much appreciated.