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 Setup: Arnold -> Archive

You can also export a .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 a .ass File via a Procedural

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

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 that 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.
Sequences are automatically recognized if they use four-digit padding for the frame number (for example name1001.ass, name1002.ass, ...).
In the case of a sequence, the Animation Support group can be used to define the sequence range and some playback options.


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

Up Axis:

The Up Axis for the procedural. Z is the default.

Animation Support


Enable reading a sequence of files.

Sequence Start

The start frame of the .ass file sequence. 
For example, if your sequence on disk goes from name1001.ass to name 1100.ass, you can pick the files from 1050 to 1080  by entering these values as the Sequence Start and the Sequence End respectively.

Sequence End
The end frame of the .ass file sequence.
Animation Start

The timeline's frame at which the .ass sequence starts to be used.

Animation End

The timeline's frame at which the .ass sequence ends to be used.
If there are not enough files in the sequence to cover the Animation Start-End range, the sequence can be repeated, either from its start or in ping-pong mode.

Replay Speed

Sets the playback speed of the procedural's animation.

Loop Animation
When on, if the animation range exceeds the sequence range, the sequence is looped.
Extend Range
If on, the first and last .ass file of the sequence is used before and after the Animation start and end frame respectively. Else, for those frames, nothing gets rendered. 
Ping-Pong Replay
When on, if the animation range exceeds the sequence range, the sequence is read forward, then in reverse, then forward again and so on.

Select Operator