First, here’s some Arnold renders of a few old-time Softimage models:
And now, here’s the announcement:
Softimage to Arnold (or SItoA), the Arnold plugin for Autodesk Softimage is being made available to the community under an Apache2.0 open source license at:
This repository contains the official SItoA plugin source code. Solid Angle, the company behind the Arnold renderer, and now part of Autodesk, developed the SItoA plugin commercially from 2009 to 2017.
After the Softimage end-of-life announcement in April 2014, Solid Angle committed to continue the development and maintenance of SItoA for at least a year, and then extended this period until July 2017, porting SItoA to the new Arnold 5 API along the way.
Please submit your issues and pull requests on github, the old Trac server will remain available for a while as read-only but we won’t accept any new users.
We will continue to monitor and review pull requests submitted to this repo on a voluntary basis, but will not release official builds any more.
Before it was open-sourced, throughout the years, SItoA has been developed by:
- Luis Armengol
- Borja Morales
- Stefano Jannuzzo
With contributions by:
- Andreas Bystrom
- Steven Caron
- Julien Dubuisson
- Steffen Dunner
- Michael Heberlein
- Paul Hudson
- Halfdan Ingvarsson
- Vladimir Jankijevic
- Alan Jones
- Guillaume Laforge
- Thomas Mansencal
- Helge Mathee
- Eric Mootz
- Holger Schoenberger
- Frederic Servant
- Jules Stevenson
Special thanks to all the users who passionately provided feedback, production assets, bug reports and suggested features during those years.
If you want to export ASS files from Softimage and use them in Maya, all you have to do is add the SItoA shaders (eg SItoA\Application\Plugins\bin\nt-x86-64) to the Plugin Search Path
ASS files from Softimage use SItoA-specific shaders, so you need to tell Arnold where to find those SItoA shaders. For example, since SItoA 4.0, there’s a new Closure node that connects shaders like Standard Surface to color parameters. MtoA doesn’t have a Closure node, because MtoA took a different approach to dealing with the fact that Standard Surface returns a closure data structure, not a color.
Here’s how to install third-party, SPDL-based shaders, like alShaders, so that you can use them with SItoA. You could install them in a separate workgroup, but for simplicity I’m going to show how to install them in the SItoA workgroup.
In these instructions, $AL_SHADERS is the location where you extracted the alShaders download. For example,
$SITOA_WORKGROUP is the SItoA workgroup location. For example,
Copy the alShader DLLs from
Create a spdl folder in your Addons\SItoA\Application folder:
Copy the alShader spdl files from
- Restart Softimage. The alShaders should show up in the Render Tree preset manager, and assuming that your version of alShaders is compatible with your SItoA, they’ll work in a render too.
Tip Don’t create an alShader from the Arnold > DLL Shaders menu; it won’t pick up the SPDL and you’ll get a raw PPG (and a raw render tree node too).
For the Point, and Sphere particles shapes, you get a single Arnold points node. For example, for the Sphere shape, you’d get a points node that looked something like this:
points 54 1 b85POINT
radius 54 1 b85FLOAT
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
This particular node is for 54 points in sphere mode. For each point, you get the center position (the points.points parameter) and a radius (the points.radius parameter). If there’s any scaling applied to the particle in ICE, the radius is multiplied by the X scaling of the particle.
For the Point shape, you get an Arnold points node in “disk” mode, with radius = size * X scaling.
For the other supported shapes, you get the corresponding Arnold shape.
SItoA translates ICE particle shapes to native Arnold shapes. The supported particle shapes are already documented here, but here’s a little more information about how they are translated.
||points (mode “disk”)
||box (with 0 height)
||points (mode “sphere”)
The Segment, Capsule, and Blob shapes are not supported. SItoA skips them and they are not translated into the Arnold scene source.
To show you where the polygon mesh subdivision settings are in Softimage, I’m going to start in Arnold and work back into Softimage via SItoA.
So, let’s start with an Arnold polymesh shape, which has a number of subdivision parameters:
C:\solidangle\Arnold-220.127.116.11\bin>kick -info polymesh | find "subdiv"
ENUM subdiv_type none
BYTE subdiv_iterations 1
FLOAT subdiv_pixel_error 0
NODE subdiv_dicing_camera (null)
ENUM subdiv_adaptive_metric auto
ENUM subdiv_uv_smoothing pin_corners
BOOL subdiv_smooth_derivs false
In Softimage, you access most of these subdivison parameters by adding an Arnold Parameters property to a polygon mesh (you can’t add new parameters to Softimage built-in objects like a PolygonMesh, so we have to use a custom property).
- subdiv_smooth_derivs (Shape group)
Other Arnold subdiv parameters are mapped to existing Softimage parameters:
- subdiv_uv_smoothing is mapped to Smooth when subdividing in the
Texture Projection Property Editor. If Smooth when subdividing is enabled, then subdiv_uv_smoothing is set to pin_corners; otherwise, it’s set to linear.
- subdiv_type is mapped to the Subdivision Rule list in the Polygon Mesh property editor. Linear goes to linear, and anything else (XSI-Doo-Sabin, Catmull-Clark) goes to catclark.
Finally, subdiv_dicing_camera is on the Subdivision tab of the global Render Settings.
A simple example of using a Color4 Passthrough to create a custom AOV. In this example, I’m using Store Color in Channel to put a per-object Alpha in the custom AOV. I could easily use overrides to do this on a per-partition level.