[SItoA] Subdivision settings for polygon meshes


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-4.1.3.3\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_iterations
  • subdiv_pixel_error
  • subdiv_adaptive_metric
  • 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.

[SItoA] Uninstalling SItoA


When you install an addon like SItoA, you may see an error like this the next time you start Softimage:

// ERROR : 2356 - This plug-in is not installed: ArnoldRenderPreferences

That’s because addons like SItoA install custom preferences, which are left behind when you uninstall the addon. At startup, Softimage finds the custom preference but can’t find the plugin that owns the preference (because it’s been uninstalled).

To get rid of this error, go to your Softimage user folder, and delete the Data\Preferences\Arnold Render.preset file.

ArnoldRender.preset

[MtoA] [SItoA] Setting multiple Arnold parameters with the User Options


If you need to set multiple parameters in the User Options, you can use whitespace (spaces, tabs, and newlines) as delimiters to separate parameter statements. For example:

enable_procedural_cache off error_color_bad_pixel 1 .25 1 declare test constant FLOAT test 2
enable_procedural_cache off\n error_color_bad_pixel 1 .25\n declare test constant FLOAT\n test 2

Upgrading to Arnold 4.1.x


Arnold 4.1.x has plenty of new features and improvements, and you can read about those in the release notes.

Here’s a few other little things to know about Arnold 4.1.x:

  • All shaders, procedurals, and plug-ins like SItoA and MtoA need to be recompiled to work with Arnold 4.1.x.
  • You need a new license to render with Arnold 4.1.x. An Arnold 400 license won’t work with Arnold 4.1.x.
  • Ass files written by Arnold 4.1.x cannot be loaded by older versions of Arnold.
  • Cross posted here

Convert texture maps to .tx


When you’re rendering with Arnold, convert your texture maps to .tx files with maketx. Always 🙂

.tx textures are better because they are:

  • Tiled (usually the tiles are 64×64 pixels).

    Arnold loads one tile at a time, as needed, rather than loading the entire texture map in memory. So textures are loaded faster, because Arnold loads only what it needs to render the image.

    Arnold uses a texture cache system to efficiently manage texture memory usage: only the most recently used tiles are kept in memory. You can have hundreds, or even thousands, of 4k and 8k images, and Arnold will never use more runtime memory than the user-specified max cache size.

  • Mip-mapped.

    Mip-mapped textures are anti-aliased, even at low AA sample settings.

If you don’t convert your texture maps with maketx, the default Arnold behavior is to auto-tile and auto-map your textures for you, but this is very inefficient because it is done once for every rendered frame, rather than one-time-only with maketx.

[SItoA] Disabling camera motion blur


Starting with version 2.8, SItoA no longer supports the Softimage motion blur property. Instead, you use the Arnold Parameters property to control transformation and deformation motion blur.
arnold_parameters_motion_blur

However, you cannot add an Arnold Parameters property to a camera (at least not using the SItoA custom menus, which will tell you that a camera is “is not a valid Object to add Arnold Parameters to”). Here’s a couple of ways to work around that:

  • Create an Arnold Parameters property on a polygon mesh, and then in the Explorer, drag that property to your Camera.
  • Select your camera and run this Python snippet:
    cam = Application.Selection(0)
    cam.AddCustomProperty( "Arnold_Parameters" )
    

[MacOSX] Setting up RLM to always start automatically


If you want the RLM license server to automatically start everytime you restart or turn on your Mac, you need to create a launch daemon. Don’t worry, it’s not as scary as it sounds 🙂

First, you need create a launchd property list (.plist) for RLM. It will look something like this:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
        <key>Label</key>
        <string>com.solidangle.rlm</string>
        <key>ProgramArguments</key>
        <array>
        <string>/PATH/TO/RLM/rlm</string>
        <string>-c</string> <string>/PATH/TO/RLM/arnold.lic</string>
        <string>-dlog</string> <string>/PATH/TO/RLM/solidangle.dlog</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
 </dict>
 </plist>

This plist file basically tells the system to start rlm with the -c and -dlog flags, like this:

/Users/stblair/solidangle/RLM/rlm -c /Users/stblair/solidangle/RLM/rlm/arnold.lic -dlog /Users/stblair/solidangle/RLM/rlm/solidangle.dlog

The -c flag isn’t necessary if the license file is in the same folder as the RLM binary executable.

Here’s an example com.solidangle.rlm.plist. Download it, and use TextEdit to change the paths to match the RLM location on your computer, and then save the RLM plist file in /Library/LaunchDaemons/. Note that this download plist assumes that the license file is in the same folder, and therefore omits the -c flag.

For example:

sudo cp com.solidangle.rlm.plist /Library/LaunchDaemons

Note: The plist file needs to be owned by root, otherwise you won’t be able to load the plist. If necessary, you can change the owner like this:
sudo chown root /Library/LaunchDaemon/com.solidangle.rlm.plist

Finally, you need to load the plist:

sudo launchctl load -w /Library/LaunchDaemon/com.solidangle.rlm.plist

The license server will now automatically start, even after a restart or power down of the machine.

You can check the license server by opening a Web browser and going to localhost:5054.

[arnold] Getting RLM diagnostics from Arnold


If you want to double-check what license servers Arnold is trying to connect with, set the log verbosity level to the maximum, and you’ll get something like this:

' INFO : [arnold] 00:00:00  438mb   [rlm] checking connection to license servers ...
' INFO : [arnold] 00:00:05  438mb   [rlm]  5053@STEPHEN-PC ... DOWN
' INFO : [arnold] 00:00:05  438mb   [rlm]  5053@SOLIDANGLE-PC ... UP
' INFO : [arnold] 00:00:05  438mb   [rlm] found 1 license servers
' INFO : [arnold] 00:00:15  438mb   [rlm] checkout of arnold (version 400) from SOLIDANGLE-PC OK
' INFO : [arnold] 00:00:15  438mb   [rlm] expiration date: 31-dec-2013 (190 days left)
  • In Softimage, set the Verbosity to Debug.
  • In Maya, set the Verbosity Level to 6.
  • On the kick command line, specify -v 6.