Stand-ins

Further Reading
See Shapes in the Arnold User Guide for the full documentation of Arnold shapes and shape parameters.

You can export any object as a .ass file. A procedural (also called stand-in, proxy, or placeholder) references the .ass file on disk (or other procedural formats supported by Arnold such as .obj or .ply). They allow you to keep your working scene light and workable by deferring the loading of geometry data until render time.

The workflow is as follows. Before you can use Stand-ins, you will have to first export some geometry to be used later.

To export the geometry you must:

  1. Select the geometry you want to export.
  2. Go to the Arnold > Scene Export > Export All/Selection to .ASS menu option.
  3. Choose a name for your archive.

Arnold > Scene Export > Export All/Selection to .ASS menu option

Stand-in export options

You may export single objects as well as a whole hierarchy made out of multiple objects. You can also export single or a sequence of frames. In this situation, the frame padding value of the Maya renderer options will be used in the names of the ass files. To use the Stand-in , you need to create a stand-in primitive. Use either File > Import, File > Create Reference, or Arnold > StandIn > Create (whichever is most convenient to you, the same dialog will be shown), and specify the archive to be used.

Note that in addition to archive (.ass) files, precompiled custom procedural programs in the form of a dynamic library can also be loaded at this point, though none are shipped with MtoA currently.

Import .ass file as Stand-in

This will create a stand-in node that you can use in place of regular geometry. The attributes of the stand-in node are described below.

If you experience a slow down in Maya's viewport when viewing the stand-in , try exporting the ass file with Maya's 'Bounding Box' display override enabled for the mesh.

File/Frame

Stand-ins are supported via the stand-in node. This node has the following parameters:

Path

The path to the archive (.ass) file. There is an automatic sequence recognition in the case of an archive.

The padding patterns have this form:

For example: If we point to a file called, test_001.ass it will be recognized as a sequence pattern in the form of test_###.ass. If you want to override the automatic sequence recognition, we can manually change the path string and remove the padding pattern with the corresponding filename.

Viewport Override

Viewport Draw Mode

The display mode of the procedural.

Use File Sequence

When enabled, it recognizes the required format and opens the sequence automatically.

Frame

The frame to read that will replace the pattern defined in the Use Frame Extension checkbox. You need to put a Maya expression ('frameNumber = frame') to get a sequence of stand-in to be loaded across the different frames.

Frame Offset

Offset to the current frame. This allows the same animation sequence to be used while creating different procedurals.

Override Nodes

Nodes inside the procedural can be replaced by other nodes with this parameter. This may be used for example to replace shaders in an existing .ass procedural. When the parameter is enabled, nodes in the immediate parent scope of the procedural will replace identically named nodes inside the procedural.

Namespace

Procedurals can declare a custom namespace using this parameter. This custom namespace can be used instead of the procedural name, to reference contents through absolute or relative paths. Multiple procedurals can share the same namespace by using the same custom name. Also, they can declare an empty name and they will use the global namespace.

The parameter "Force Shader Assignments" (that is necessary for this workflow) appears in the export options UI and only appears when "Export Shaders" is disabled.

To export Stand-ins and shaders separately, the workflow would be :

  1. Export your asset with only "Shapes" enabled with "Force Shader Assignment" enabled.
  2. Export your asset again with only "Shaders".
  3. Create two Stand-ins and load each of them.
  4. Set the same Namespace string for both Stand-ins.

User Options

Information about User Options can be found here.

Ignore Group Nodes

It can be used for proxy geometry below the group hierarchy which is then skipped when rendering. Therefore any geometry, lights, etc. parented to the Stand-in, won't appear in the render when you activate this parameter.

Object Path

The Alembic path to expand from in the hierarchy.

Arnold Procedural Settings

Auto Instancing

Allows per-procedural selection of the use of this functionality (only '.ass' procedurals support it for now). When enabled, multiple uses of the same filename will be transparently converted to instances. This workaround is sometimes useful when overriding procedural parameters with operators.

You should only disable this to prevent automatic instancing of the same .ass file. It is enabled by default and is only intended for technical users.

Alembic Settings

Export to Alembic can be found in the Arnold -> StandIn menu.

Arnold alembic export also exports subdivision and user attribute data in Arnold formated naming e.g.

aiSubdivType = subdiv_type

aiSubdivIterations = subdiv_iterations

Curves Basis

An alembic curve basis override. Auto (default) uses whatever is set on the curve data in the alembic. Choose between:

File Contents

It shows the contents of the file in the Attribute Editor and allows you to apply overrides on the selected items.

Look

Choose to create, edit or delete look variations . Creating a new look au tomatically adds an aiLookSwitch node which is a combination of a switch_operator and a merge , which is connected to the root of the procedural graph. When making the first look, the current operators are moved to the first list of inputs on the variant switch node. Labels in the aiLookSwitch are used to populate the menu from the stand-in. This plug can be set/overrode by the Render Setup tools for adding different looks per layer/pass. The name/ look /pass will get translated to an index number for rendering.

'Green' look applied

Add Assignment

A list of parameters that can be assigned to objects within it. It can be used to add attribute and parameter assignments to sub-objects of the node. It creates a set_parameter node for each selection and puts them in order in the Operators list. The top one is the first operator and the last leaf in the hierarchy is the last Operator on the list.

Local Overrides

Assignments that are on the node in the hierarchy.

Inherited Assignments

Overrides that affect the object below or that match the string expression selection.

Inherited Assignments created using far left button

Add Operator

Adds a generic operator to a point in the Graph. The selection string must refer to the nodes inside the .ass file.

Operator list

Show Graph

Displays a standalone graph of the shape and any operators that are connected to it.

Render Stats

The Render Stats section lets you turn on or off various rendering options for selected Stand-ins.

StandIn Overrides

Override Standin Light Linking

If enabled, the light linking of the aiStandin node is applied to all objects in the Stand-in.

Override Standin Shaders

If enabled, shaders applied to the aiStandin node override the shaders on all objects in the Stand-in.

Overrides the values set within the procedural file. Disabling override_... = OFF would mean that the value isn't forced on the Stand-in .

Extra Attributes

There are some extra attributes (that are hidden from the user), such as overridePrimaryVisibility, overrideOpaque etc. These are located at the bottom of the Extra Attributes in the Attribute Editor of the stand-in (see below). If you use the StandIn Overrides controls, MtoA will automatically update the appropriate checkboxes under Extra Attributes. For example, to override Primary Visibility ,  you must also enable the extra attribute overridePrimaryVisibility.

You can use proxy geometry to represent a stand-in using the Arnold Procedural Translator for a mesh. This feature uses the mesh's bounding box information from Maya. If the stand-in is clipped, you can disable Defer Procedural Load, or use the User Options to set the procedural min and max (for example min -1 -1 -1 max 1 1 1).

Polymesh procedural translator