It is possible to designate objects to be part of one or many trace sets. The trace_set shader marks specific rays with an inclusive or exclusive trace set. Both geometry and rays can be designated as trace sets:
- A piece of geometry can have none or any number of trace sets.
- A ray can optionally have one trace set, and it can be exclusive or inclusive.
The way those two interact makes it possible to control visibility for specific rays:
- A ray with no trace set will hit all geometry.
- A ray marked with an inclusive trace set will only hit geometry which has that trace set.
- A ray marked with an exclusive trace set will only see geometry that does NOT have that trace set.
With the Arnold Visibility Geometry Properties it is possible to tag objects to be part of one or many trace sets.
The shader that gets called after setting the label.
The string label defining the set of objects to be traced or avoided. Objects are labeled using the Arnold Parameters Tag property.
If on, the tracing works in inclusive mode, else in exclusive, as described above.
Below is a shading network for a floor material which segregates shadow and specular rays into two different trace sets:
The sphere objects are then tagged to be part of the shadows or specular or both trace sets:
- An empty trace set name means that the shape belongs to all sets. So to remove objects from, say reflections, one must assign a dummy set name.
- The trace set name must be set before the ray is fired. For example, for "direct" reflections, the trace_set node must be connected to the "camera" rays in addition to the "reflection" one.