Share

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.

Was this information helpful?