What's new in Version 2.5

SItoA version 2.5 is based on version of the Arnold core.

New features include:

• User Options now has a flag called Resolve Tokens. If enabled, the Softimage tokens such as [Frame] are resolved before the string is passed to Arnold. See the User Options topic for details.
Help links have been updated and now point to the most specific topic in the on-line help.

• Improved the exporting time with light associations.
Added <udim> and <tile> token tag support to sib_image_clip.

• sta_vector_displacement shader added. This shader has support for tangent-space vector displacement. This is meant to supercede and replace the old sta_displacement shader, which is now deprecated.

• 25% faster bump mapping (less shader evaluations per call).
• 25% faster ray acceleration structure build (30-80%, depending on platform and compiler).

• Several other speed and memory optimizations.
• Auto-instancing of standins whose Path parameter points to an .ass file; subsequent standins trying to load the same.ass file will instance the previously loaded geometry, potentially saving lots of both memory and disk I/O. By default this feature is turned off, it can be enabled by setting the global option "enable_procedural_cache true" in the User Options string field in the renderer settings.


• After implementing vector displacement (#1312), sta_displacement is no longer needed to perform scalar displacement mapping. The displacement branch can be plugged directly into the displacement slot of the material. Usage of sta_displacement will still be allowed for both scalar and vector displacement, but is deprecated and will be removed in a future version.
• Unified convention names. For more details see the note 'On Exported Names' below.

• Ticket #280 can affect the look of assets shaded with the standard and / or skin shaders. Previously, color values at the edges in the standard shader could go negative when using both mirror and glossy reflection at the same time. A darkening effect could also appear when the Fresnel reflection at the edge was set to less than 100%.

• SItoA for Softimage 2013 is now compiled in Visual Studio 2010.

On Exported Names

In SItoA 2.5 we tried to standardize the way we name the exported Arnold nodes after the corresponding Softimage object (see ticket #1211). The purpose of the ticket was to:

  1. Have a unique syntax for all the nodes (before, we had several different ways to compose the names, and different characters to separate the name fields).
  2. Give a scripter/developer the ability to retrieve a given node out of the native Softimage object, and viceversa. For instance, after an .ass file has been exported, a user may want to edit one of its nodes having as a reference the Softimage scene.


As a general rule, the names now have the following format:

Softimage Object Full Name + ".SItoA." + something where "something" is a string depending on the node type and described in more details below. 

So, if you need to retrieve the Softimage object out of the Arnold node name, you can simply trim the name string up to the last occurrence of the ".SItoA." substring. Vice-versa, if you need to retrieve an exported node name out of a Softimage object, here are the details, depending on the node type:


Softimage Object

Arnold Node(s)        

Arnold Node(s) Name



Mesh FullName + ".SItoA." + time


point_light, distant_light, etc.

Light FullName + ".SItoA." + time

Light filter

gobo, barndoor, etc.

Filter property FullName + ".SItoA." + time


image node for the gobo slidemap

Filter property FullName + ".SItoA.GoboSlidemap." + time



Camera plain Name, because of the camera projection shader


standard, utility, etc.

Shader FullName + ".SItoA." + time + "." + UniqueId



Standin FullName + ".SItoA." + time



Instance Model FullName + " " + master node name


one curves per chunk

Hair FullName + ".SItoA." + time + "." + chunkId

Hair by procedural


Hair FullName + ".SItoA." + time, .bin file names unchanged




PointCloud Shape

Arnold Node(s)        

Arnold Node(s) Name


points (mode=disk)

PointCloud FullName + ".SItoA.Disk." + time


points (mode=sphere)

PointCloud FullName + ".SItoA.Sphere." + time


one disk per point

PointCloud FullName + ".SItoA.Disc." + time + "." + discId

Box | Rectangle

one box per point

PointCloud FullName + ".SItoA.Box." + time + "." + boxId


one cylinder per point

PointCloud FullName + ".SItoA.Cylinder." + time + "." + cylinderId


one cone per point

PointCloud FullName + ".SItoA.Cone." + time + "." + coneId


one ginstance per point

PointCloud FullName + ".SItoA.Instance." + time + "." + instanceId + " " + master node name

Strands        curves


PointCloud FullName + ".SItoA.Strands." + time

Shape on strands


PointCloud FullName + ".SItoA.InstancedStrands." + time + "." + strandId


where time is the Softimage frame multiplied by 1000 and cast to integer. In cpp that's:

We use spaces in just one case, that is instances, for IPR reasons. For example, if you have a cube under a Model at frame 35, the cube is exported as:

So, also for ginstance nodes, it is easy to retrieve the master node and its Softimage object.

The various ID's (chunkId, discId, etc.) are unique integers, needed when several Arnold nodes derive from a unique Softimage object. For instance, say you have a pointcloud setting the particle shape to cone. A unique Softimage object (the point cloud) is exported as a collection of Arnold cone nodes, and each must have a unique name, as required by Arnold. This is what the .ass file looks like at frame 35:



  • No labels