Operators - Arnold for 3ds Max
Further Reading |
---|
See Operators in the Arnold User Guide |
The Arnold for 3ds Max User Guide explains how to set up Arnold operators in the 3ds Max user interface. The Arnold User Guide provides the full documentation for Arnold shaders and shader parameters. For example, the Arnold User Guide has all the information about the operator selection expressions. |
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.
- Operators should work seamlessly in the Active Shade window.
- Tutorials about operators can be found here.
- The Operator Graph (Arnold Menu) window is only available from 3ds Max 2019 onwards.
Operators Graph Editor window (Arnold menu & Render Setup)
Workflow
To add operators to the scene, you must first select Arnold->Operator Graph from the top Arnold menu. The core operators are grouped under the Built-in category.
A given Operator is set as the root operator by right mouse clicking on it and selecting Set as Target Operator. The root operator is then framed in green in the editor.
Operator branches can also be saved to .ass file with RMB + Export This/All, and re-imported (or imported into another Arnold plugin) with RMB + Import Operators.
Operators are applied globally to the scene. Any Operator connected to the root operator or to any of its children is evaluated. Operators do not have a particular output type, they just operate on the scene.
All the nodes at the scene level root are simply prefixed by '/'. So for instance, if in 3ds Max "sphere" is at the root level, it is exported to Arnold with the name "/sphere". Nodes under a hierarchy are exported with a '/' separator for each level, starting from the root. So for instance, if in 3ds Max "sphere" is at the root level, and "cube" is under "sphere", then "cube" is exported to Arnold with the name "/sphere/cube".
Arnold Operators
The following operators are available:
- collection Creates a selection expression that can be referred to by other operator nodes in the operator graph.
- disable disables and 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.
- set parameter Set/override node parameters using assignment expressions.
- set transform Set/override the transform matrix for shapes, cameras, and lights.
- 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.