Is there a material override function in Arnold. like the one seen for example with Mental ray's processing tab (3ds max render setting)?
If not is there a way to achieve the same function?
Thanks
You can use Operator to achieve this. Check this article : http://veda3d.com/override-material-for-arnold/
This works, but for some reason doesn't work with a "toon shader"
I'm trying to use this: http://veda3d.com/override-material-for-arnold/
with this: https://support.solidangle.com/display/A5AF3DSUG/Toon+Shading+a+Mech+Tutorial
I want to render a "mechanical drawing" without losing all my actual materials. Trying to do a material override using operators as described above, but when I do it with a toon shader it crashes 3ds max every time
The problem with the Toon shader and AOV shaders is fixed in Arnold 5.1.1.0
You'll have to wait for the next Maxtoa update (or download the latest Arnold and copy over all the files from the bin folder)
I also found the article https://veda3d.com/override-material-for-arnold/ that Mike Samoylov posted above, it has been updated to work with the current Max versions. @stephen Blair also has this on Youtube: https://www.youtube.com/watch?v=kiP5mgP7jTM&t=7s
My question is: is there a method for excluding some objects from the override (and still keep the polymesh class)
If you use operators, the selection expression can use not to exclude some objects
This is the example from the docs:
/group0/sphere* and not (/group0/sphere1 or /group0/sphere0)
I can't tell why this doesn't work. Is there an editor with Arnold syntax hi-lighting? I need more examples in the manual to be able to learn this. Is there a tutorial on selection expressions? I am pretty handy with RegEx...
Ground_Plane-Shadow_Matte is not an Arnold node.
@node is for getting all Arnold nodes, eg all polymesh nodes or all ginstance nodes.
Ground_Plane-Shadow_Matte sounds like the name of a polymesh node (or maybe of shader node). So you could test for that with
*.(name == '/Ground_Plane-Shadow_Matte')
Here's a list of all built-in Arnold nodes:
Like this:
*.(@node == 'polymesh' or @node == 'ginstance') and not *.(name == '/Ground_Plane-Shadow_Matte')