Duck models exported as .ass files and imported as a Procedural


You can export any object as an .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, etc). They allow you to keep your working scene light and workable by deferring the loading of geometry data until render time.

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.

The Utility shader's Object mode does not work with procedurals (Stand-ins). This is a known limitation. The color of the spheres changes when the Utility shader's mode is Object. However, the stand-ins color remains the same.

Sharing Arnold Procedurals Between Plug-ins

Some users may be in a studio environment where a combination of Maya, 3DS Max, Houdini, and C4D are used. It is perfectly possible to export .ass Arnold Procedurals (stand-ins) and reuse them in other Arnold plug-ins (and vice versa), as long as Arnold can find both the plug-in and 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.

An 'Introduction to Procedurals' tutorial can be found here.

Export .ASS File

Before you can use procedurals, 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 Archive tab in the Render Setup window.
  3. Enable .ASS File.
  4. Choose where you want to save the .ass file.

Export .ass file from Render Settings

You can also export an .ass file by going to File->Export->ASS.


The archive is saved as an Arnold Scene Source (.ASS) file. 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 from the 3ds Max Render Setup 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 procedural. For example, you should choose whether you wish to export with motion blur enabled or not.

Opening an .ASS File via a Procedural

To open the .ASS file, you will first need to create an Arnold Procedural primitive.

  • To create an Arnold Procedural choose Arnold from the drop down menu in the Create tab. 

Create an Arnold Procedural here


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

3ds Max maps cannot be exported to an Arnold Scene Source file, and will not render outside of MAXtoA.

Load .ass file as procedural


This will create a procedural node which you can use in place of regular geometry. The parameters of the Procedural node are described below.

The Procedural Node

Procedurals are supported via the Arnold Procedural node. This node has the following parameters:

Arnold Procedural 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:

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


This custom namespace can be used instead of the procedural name, to reference contents through absolute or relative paths.


The min and max corner of the procedural object.

Animation Support

On Frames

The frame to read that will replace the pattern defined in the Render Setup. When enabled, the Frame value is used to resolve the Path's [Frame] token (if it exists). If Path is not a sequence, these parameters are not used.

Replay Speed

Sets the playback speed of the Procedural's animation.

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

Select Operator

Gives the ability to connect Procedural/Alembic nodes in the Operator Graph Editor.

Choose which Procedural to use

From the Operator Graph Editor, you can list the objects connected to the operator.


In this case, there are three INodes, two of them being 3ds MAX instances of the same Arnold Alembic object.


Procedural/Alembic files can be introspected to retrieve geometry and display it in the viewport.

Display Mode

The available viewport display modes are:

  • Bounding Box (Fast): Displays the contents as a bounding box. Does not need the full ass file load, it simply looks for "bounds" being present. If it is not, it keeps the previous behavior.
  • Bounding Box (Content List): Displays the contents as a bounding box and in the content list.
  • Points: Displays the contents as points.
  • Wireframe: Displays the contents as a wireframe.
  • Shape: Displays as a shape with full shading.

Maximum Nb. of Points

The maximum number of points displayed in the viewport. The default value is 10,000.

Bounding Box Threshold (ratio of screen size)

Defines how much to extend the bounding box of the object. The default value is 0.02.

Animation Cache Size (in frames)

Animation frames load on demand and are kept in a cache of the size defined in the UI. If the cache is not used, the data is always trashed (same as the cache size is 1).


Shows the contents of the file. The content tree view selection cannot be used for selection. Double-clicking copies the sub-node name (path) and can be pasted in an operator.