Stand-ins

Stand-ins connected to Particle Instancer (rollover image)

 

In MtoA, you can export any object as an .ass file. A Procedural references the .ass file on disk (or other procedural formats supported by Arnold such as .obj, .ply, etc). Stand-ins allow you to keep your working scene light and workable by deferring the loading of geometry data until render time.

If you want motion blur on a Stand-in, you will have to export the Stand-in with motion blur enabled.

An 'Introduction to Stand-Ins' tutorial can be found here.

 

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 > StandIn > Export menu option.
  3. Choose a name for your archive.

 

Alternatively, you can export your model as a Stand-in via the File>Export All options. The archive is saved as an Arnold Scene Source (.ass) file.

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.

During export, Arnold's current render settings will be used. Therefore, you should finalize these settings before exporting the stand-in. For example, you should choose whether you wish to export with motion blur enabled or not.


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 which you can use in place of regular geometry. The attributes of the Stand-in node are described below.

If you experience 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 StandIn 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:

  • name.#.ext  - e.g. name.1.ext, name.2.ext, name.3.ext, ... , name.10.ext, ... , name.100.ext, ...
  • name.##.ext - e.g. name.01.ext, name.02.ext, name.03.ext, ... , name.10.ext, ... , name.100.ext, ...
  • name.###.ext - e.g. name.001.ext, name.002.ext, name.003.ext, ... , name.010.ext, ... , name.100.ext, ...
  • name####.###.ext - indicates four digit padding for frame numbers and three digit padding for sub-frame digits.

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.

A toggle for enabling or disabling absolute/relative pathnames for procedurals (absolute by default) can be found in the System tab of the Render Settings.

Viewport Override

Use Global Settings - Use the Standin Draw setting from the Render Settings to determine how to display the standin. 
Use Local Settings - is the default behavior.
Bounding Box - Display the stand-in as a bounding box. 
Disable Draw - Disables the display of the stand-in.

Viewport Draw Mode

The display mode of the procedural.

Frame

The frame to read that will replace the pattern defined in the Use Frame Extension check box. You need to put a Maya expression ('frameNumber = frame') to get a sequence of stand-in 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 standins 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 standins and load each of them.
  4.  Set the same Namespace string for both standins.

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 side.

Overriding shaders does not override displacement maps. Displacement is handled separately by Arnold: when a scene is translated to Arnold by MtoA, the displacement is not part of the "shader" applied to an object.

Extra Attributes

There are some extra attributes (that are hidden from the user), such as overridePrimaryVisibilityoverrideOpaque 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 check boxes under Extra Attributes. For example, to override Primary Visibility,  you must also enable the extra attribute overridePrimaryVisibility.

Arnold Procedural

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

Sharing Arnold Stand-ins Between Plug-ins

Some users may be in a studio environment where a combination of Maya, Softimage, Houdini, and C4D are used.

It is perfectly possible to export .ass stand-ins from MtoA and reuse them in SItoA or HtoA (and vice versa), as long as Arnold can find both MtoA and the SItoA/HtoA shaders. To do this, you must ensure that the Arnold shader path environment variable ARNOLD_PLUGIN_PATH is set to pick up both sets of shaders.

Procedural File Formats

Procedural formats supported by Arnold include .obj, .ply, etc). These models can be opened and rendered directly within MtoA as an Arnold Procedural. 

116 million polygon Stanford .ply model rendered directly as a stand-in. .ply models can be downloaded here.

The Utility shader's Object mode does not work with stand-ins. This is a known limitation with MtoA.

The color of the two spheres changes when the Utility shader's mode is set to 'Object'. However, the stand-ins color remains the same (rollover image).