In the rendering options, you can set the paths where Arnold will look for shaders, procedurals, and textures.
For shaders and procedurals, they are automatically loaded if contained into the directory pointed by the ARNOLD_PLUGIN_PATH directory.
Also, you can use the following environment variables that will be read and set as your defaults when creating a new scene:
SITOA_SHADERS_PATH: for shaders
SITOA_PROCEDURALS_PATH: for procedurals
The paths can be changed at any time from the Arnold Render Options. If doing so, the following rule applies:
If you don't need to link to shaders other than the ones coming with SItoA, leave the field void. So, when loading a scene saved with a previous SItoA version, the shaders of your current SItoA version will be loaded.
The rule also means that if you set the shader search path to, say, a workgroup location only, none of the Softimage legacy shaders will be found. So, if you need to have your workgroup's shaders used, be sure to add also the SItoA bin directory to the search path, separated by a ';' character. The order does not matter.
Example: I have some custom shaders in a workgroup located under:
and my SItoA addon installed under:
Then, to have everything working, I have to set:
Shaders Search Path = C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA\Application\Plugins\bin\nt-x86-64;C:\dev\Arnold\WG\Application\bin\nt-x86-64
Note that the full path to the shader DLLs is required.
Environment variables are supported for the search paths, through the [ENV_VAR] syntax.
Let's reuse the above example, and say that in my setenv.bat, I set two env vars:
Then, I can simply set:
Shaders Search Path = [MY_SITOA_ADDON]\Application\Plugins\bin\nt-x86-64;[MY_WG_BIN]
An environment variable must point to a single location. Something like:
set MY_PATHS = C:\dev\Arnold\WG\Application\bin\nt-x86-64;C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA
will not work.
If Use Absolute Texture Paths (From the ASS Archives tab of the rendering options) is enabled, the absolute paths is exported and optionally translated by the linktab file if Translate Paths is enabled.
Otherwise, the relative paths, with respect to Textures Search Path, is exported.
Say we have to export a texture whose full path is
If you set Textures Search Path
to "C:\img", then the texture is exported as
If set to "
C:\temp", the texture is exported as
and so on.
In order to have the conversion working, the Textures Search Path must exist.
Example: Textures Search Path
== C:\invalid (where C:\invalid does not exist on disk)
then, a warning message is fired, and we export the plain file name, so
Textures Search Path can be made of more that one path, separated by ';'
Example: Textures Search Path
For multiple search paths, we convert to relative paths with respect to the first of the search paths for which the conversion was successful.
So, if we have 2 search paths, we always try to convert with respect to the first one. If failing, we try the second one, and so on. In the case of failure (none of the search paths worked), we export the plain file name and we log a warning.
This information also applies to procedural search paths, with respect to the Absolute Procedural Path flag.
For cross-platform path translations we need to specify an environment variable:
When this variable is declared, the "Translate Paths" parameter in the Arnold Render Options will be enabled. This variable must point to the Softimage linktab.ini file with an absolute path including the filename.
The linktab file is used when the render network uses a mix of Windows and other operating systems. Each line in a linktab file contains a Windows-style path and a UNIX-style path, indicating where Softimage, and resources such as textures, are located on both operating systems. This allows the rendering server to find the required files on the clients regardless of the operating system.
Most linktab files contain only one line, indicating where Softimage is located on both platforms. Here is a sample linktab file:
•The Windows path must come before the Unix-style path and they must be separated by a tab, not spaces.
•Linux path names are case-sensitive, but Windows paths are not (they are case-insensitive).
•Do not use slashes (\ or /) at the end of the linktab paths.
•If you are using textures or memory-mapped images, you must have entries that point to the directories containing them.
•You can use an exclamation mark to distinguish a mounted volume from the rest of the path. For example, if \\foobar\users\fred (Windows) is equivalent to /home/fred (Linux) and F:\foobar\users is a mounted volume, the line in the linktab file would look like this:
The linktab file must be present on the server and client computers, in the directory specified by the SI_LINKTAB_LOCATION environment variable.
• SI_LINKTAB_LOCATION can define both the path and file name or just the path; if no file name is explicitly set, Softimage assumes the name will be
• When a scene is imported from SOFTIMAGE|3D into Autodesk Softimage, Softimage searches in SI_LOCATION for
setenv.bat (Windows) or .
xsi_5.0 (Linux) as the directory where Softimage is installed and place a copy of
linktab.ini there (if you want to reuse the linktab file used by SOFTIMAGE|3D; otherwise, just make
SI_LOCATION point to the same path and linktab name as defined by
SI_LINKTAB_LOCATION for Softimage).
For details on how Softimage uses the linktab file, see 'Configuring the
linktab.ini File' in the Softimage 'Setup & Licensing Guide'.