Override material for Arnold
In the settings of the Arnold rendrerer in 3ds max there is no Override material parameter as we have in the Vray parameters, but there is a functional allowing it to be recreated.
The essence of the override material feature is to replace the existing materials on the objects with single material during the render, and after the end of the rendering, return them on objects. Usually this is usefull to check the lighting settings, uv maps, etc.
In order to setup override material, we need two shaders from the standard package of Arnold MAXtoA 2.x. Standard Surface, which will act as an override of the material (can be any other shader) and Set Parameter (operator) which will determine which objects need our override material during render.
- Add the material Standard Surface to the material editor, setup it at your discretion and change the name to “Override_mtl”
In the render settings, in the AOVs tab, assign our Override_mtl to the slot AOVs -> Shaders -> Materials . This needs to be done in order to initialize the shader during rendering.
- Add the shader Operators -> Set Parameter , change the name to “Override operator”.
- In the Selection parameter, set the value to:
/*.(@node == 'polymesh' or @node == 'ginstance').
(This value stands for – take into account all the nodes in which the polymesh class (these are geometric objects) and the nodes whose class is ginstance (these are geometric objects in the form of an instance).
If we wrote / *, the shader would be replaced in Environment. Which would lead to the fact that the the scene would have lost illumination if the in Environment was used an HDRi map.
- In the Assignment Expressions parameter, set the value:
shader = "/ Override_mtl"and click the + button to the right of the parameter to add this value to the shader settings.
This value stands for – change the shader for nodes to the shader with the name Override_mtl for all nodes that we defined in the previous parameter.
In the render settings, in the Arnold Renderer tab in the slot Operators -> Root Operator assign our “Override operator” shader.
As a result, during rendering all geometric objects and their instances will be visualized with the material that we set up in the first paragraph of this mini-tutorial.
A library with already customized shaders can be downloaded from the download section below.