Modifying an Alembic Procedural Using Operators

Operators used to change color of anvil within Alembic Procedural, add matte to apron and hide anvil.

This tutorial covers how to apply Operators to modify the content of an "opaque" object, that is an Arnold alembic procedural. The Alembic file itself does not contain materials, and has no particular properties for the objects, and here is where Operators can be useful, for instance, to apply a given shader to a given subobject. Each sub-object is an actual shape node for the imported Alembic. With Operators, we can operate on the individual contents of the Alembic file.

In Arnold, there is a strong naming convention, like in a file system. The root level is /, every node in a hierarchy separated by its father by a / too. So, if you export this scene to a .ass file, you will read names such as /geo1/alembic1, /geo1/alembic1_1 and so on for the imported alembic shapes, while you will have a single /Alembic001 node name for the Arnold Alembic node. This convention is very important because, again, the Operators selection is strongly based on the Arnold objects names.

Tip: Use the Ignore Operators flag in Diagnostics> Feature Overrides to check what the render looks like without any Operators.

The scene file can be downloaded here.

Arnold Procedural (Alembic) visible in the scene

Hide the Anvil (Set Parameter)

We can use a Set Parameter to hide the anvil of the imported alembic.

visibility=0

/geo1/alembic1_3

Assign Blue Shader to Anvil (Set Parameter)

We can assign the spheres blue Standard Surface shader to the anvil in the Alembic using the following (note that the shaders are also named with a trailing slash):

Under expression add the following:

shader="/sphere_standard|standard_surface"

Under selection add the following for the anvil geo:

/Alembic001/geo1/alembic1_3)

Merge

We can use the Merge operator to group the two input nodes.

Assign Matte to Apron (Set Parameter)

We can use a Set Parameter operator to turn the Arnold Alembic apron into a matte object.

matte=true

/Alembic001/geo1/alembic1_1

Final Operator Graph setup