Duck model exported as .ass file and imported as a procedural
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.
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.
Before you can use procedurals, you will have to first export some geometry to be used later.
To export the geometry you must:
- Select the geometry you want to export.
- Go to the Archive tab in the Render Setup window.
- Enable .ASS File.
- 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.
- 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 that you can use in place of regular geometry. The parameters of the procedural node are described below.
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.
The Up Axis for the procedural. Z is the default.
Enable reading a sequence of files.
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.
The timeline's frame at which the .ass sequence starts to be used.
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.
Sets the playback speed of the procedural's animation.
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.
The available viewport display modes are:
- Bounding Box (Fast): Displays the contents as a bounding box. It 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.
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.