Operators - Arnold for Houdini
Further Reading |
---|
See also Operators in the Arnold User Guide |
Operators allow advanced users to override any part of an Arnold scene and modify the Arnold universe at render time. Probably one of the most common use cases is to override parameters (e.g. shaders) inside a procedural (e.g. ASS or Alembic). To achieve this you must know the Arnold node and parameter names defined inside the procedural.
The following operators are available:
- Collection
- Disable
- Include Graph
- Look Switch
- Materialx
- Merge
- Set Parameter
- Set Transform
- String Replace
- Switch Operator
Import/Export Operators
Arnold Operators can be imported and exported by right-clicking on the Arnold output.
Example use of Operators in HtoA
In HtoA, Operators are exposed as ROP nodes. Connect an Operator chain as an input of an Arnold ROP to apply the Operator chain when rendering from that ROP.
Import/Export
An Import/Export Arnold operators menu is available in the Arnold ROP. This enables you to export the connected ROP network as a .ass file (left) and import it back onto a different Arnold operator (right).
Assign Material ROP
The Assign Material ROP creates an HDA that wraps the set_parameter ROP for material assignment. This can be used to change the surface, displacement or volume shader on a selection or to override shaders in an alembic procedural for example. The Assign Material ROP does the following:
- Points to an Arnold VOP network with the material definition.
- Finds the OUT_material.
- Finds the connected surface, displacement and volume shaders.
- Provides operator expressions for surface, displacement, and volume assignments automatically.
- Translates the shaders in the Arnold shader network.
Internally it uses a set_parameter node and it will fill out the set_parameter assignment fields
Final result. Scene file here.
Collection
This creates a selection expression that can be referred to by other operator nodes in the operator graph.
Disable
Disables/enables nodes. Supported types are shapes, lights, shaders, and operators.
Include Graph
Include an operator graph and shaders from a referenced file. If the operator is in a graph which is connected to a procedural, the included shaders and any shader assignments made in the included operators are relative to the procedural's namespace in order to ensure portability.
MaterialX
Applies a MaterialX look. The operator supports native Arnold shaders and the MaterialX standard library.
Merge
Merges upstream operator node connections. Note that this is the regular Houdini Merge ROP.
Set Parameter
Set/override node parameters using assignment expressions.
Set Transform
Set/override the transform matrix for shapes, cameras, and lights.
Sphere scale adjusted using set_tansform
String Replace
Replace all non-overlapping occurrences of the match pattern on all string parameters for selected nodes. The match/replace can be targeted to a specific OS.
Switch Operator
Switches between incoming operator connections by choosing which input index is enabled. Note that this is the regular Houdini Switch ROP.