ZBrushCentral

Loading materials

I’ve just started experimenting with creating different materials, saving them and then loading to use on other models.

Can anyone tell me why, when you load the material onto layer 2 does it apply the material to the model on layer 1?
If I load the material first, but then select a standard material, then draw the model and then apply the loaded material it applies only to layer 2, which works just fine.

Is this a bug in ZBrush or am I doing something wrong?

Also - why does loading a material delete the current material in the material preview window? If this is to make room on the toolbar, how do you get the deleted material back? Would you have to re-load?

Any pointers would be gratefully received.

Materials are identified to the renderer by their index value. That index value is based upon their particular slot in the Material palette. So when you draw on the canvas with the default Red Wax MatCap, ZBrush isn’t really painting Red Wax. What it’s really painting is material #1, which currently happens to be Red Wax.

Once you understand that, you should understand everything else regarding your question. If you load a new material while Red Wax is selected, then Material #1 takes on the properties of what you just loaded. Every place where that material is used on the canvas instantly update with the new properties.

This is actually a very powerful feature when in the hands of a creative artist. For example, you could create a scene using multiple copies of the FastShader material, which has minimal impact on the rendering engine. Then when you’re ready to start doing your renders you can replace those FastShader copies with more complex materials that have the real look that you’re going for.

Thanks aurick

Makes perfect sense now.

However the last paragraph of your reply has confused me slightly:
If you were to create several SubTools on separate layers using the FastShader material and then load a previously created material, whilst the FastShader is selected. This would apply the same material to the several SubTools.

Therefore would you create the SubTools using different basic materials and then replace them with your preferred materials?

Thanks again for helping me to understand the materials application.

The key phrase that I used was “multiple copies of the FastShader material”. For example, you can copy the FastShader material into slots 8,9, and 10 of the Material palette.

Because ZBrush recognizes materials by their index number, what would happen here is that you would see the FastShader throughout the scene. But later you could replace each of those FastShader copies individually with other materials, and ZBrush would update the incidents of each slot used on the canvas. So for example, if you replaced slot 8 with Red Wax, then only the parts of the canvas that were drawn using slot 8 would change to show Red Wax. Everything that was drown using slot 9 or 10 would continue to show the FastShader.

Thanks again aurick

I’ve just learnt something new about ZBrush - copying materials into other material slots. I have to admit it did cross my mind after your first reply.

Thanks so much for helping me move forward. Your help is very much appreciated.

I understand the reasoning behind this. But I don’t think it should be indexed.
I’ve been working on a model, and checking out other peoples shaders. When I am experimenting and adding new shaders to the directory, the fact that it changes the index is not a good feature. It should be based on names, and there should be a replace Material function within Zbrush.

I agree swapping materials can be very powerful, but its just counter productive for the directory to determine the index of Materials.