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 .abc, .obj, .ply, .usd etc). They allow you to keep your working scene light and workable by deferring the loading of geometry data until render time.
|
An Introduction to Stand-ins tutorial can be found here. A tutorial that shows how to open a USD file in a stand-in and modify it using operators 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:
Arnold > Scene Export > Export All/Selection to .ASS menu option |
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. 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 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. |
Stand-ins are supported via the Stand-in node. This node has the following parameters:
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. |
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. |
The display mode of the procedural. |
When enabled, it recognizes the required format and opens the sequence automatically.
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.
Offset to the current frame. This allows the same animation sequence to be used while creating different procedurals.
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 :
Information about User Options can be found here.
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.
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
It shows the contents of the file in the Attribute Editor and allows you to apply overrides on the selected items.
|
LookChoose to create, edit or delete look variations. Creating a new look automatically adds an aiLookSwitch node which is a combination of a
|
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 OverridesAssignments that are on the node in the hierarchy. Inherited AssignmentsOverrides that affect the object below or that match the string expression selection.
|
Adds a generic Operator to a point in the Graph. The selection string must refer to the nodes inside the .ass file.
|
Displays a standalone graph of the shape and any Operators that are connected to it. |
The Render Stats section lets you turn on or off various rendering options for selected Stand-ins.
If enabled, the light linking of the aiStandin node is applied to all objects in the Stand-in.
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. |
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. |
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.
Arnold ProceduralYou 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).
|