Why is my ICE tree all red?

I’ve had a few cases recently where we had to figure out why certain nodes were red in an ICE tree. Usually this was in cases where someone was building something from scratch, or using factory ICE nodes in a slightly non-standard way.

For example, here’s an ICE tree with the Emit Splash from Surface Collision and Move Towards Goal compound.

Red means the evaluation of the compound is returning an error. You can see the first of the errors that are bubbling up if you point to an empty area on a compound. To see all the warnings and errors, right-click the node and click Show Messages.

In this case, the problem is that an attribute is not initialized. Some factory default compounds rely on other compounds (usually the emitters) to initialize certain attributes. When you start building up things from scratch, you’ll have to take care of the initialization.

The case of satellite rendering not working in 2011 SAP on 32-bit Windows XP

In this case, a customer was trying to use 64-bit Windows satellites from a 32-bit Windows XP master computer. The problem: it didn’t work. The mental ray diagnostic messages don’t show any usage of the satellites when he rendered on the master computer.

The customer double-checked that ray3hosts had the right computer names and ports, that the raysat service was running on the master and the satellites, and that telnet could connect to the raysat ports. In addition, the customer tried using the 32-bit XP machine as a satellite, and that did work. So it looked to the customer like maybe 32-bit 2011 SAP couldn’t use 64-bit satellites.

I set up a 32-bit Windows XP master with some 64-bit Windows 7 satellites, and sure enough it didn’t work. In addition to checking the mental ray diagnostics on the master, I also run Process Monitor on the satellites to check for raysat activity, and I wasn’t seeing anything.

After double-checking everything again, I tried using WireShark, a network protocol analyzer, on the master to see if Softimage was even trying to connect to the satellite.

I didn’t see any outgoing TCP traffic to the satellite, so I decided to use Process Monitor on the master to check whether Softimage was loading .ray3hosts. And sure enough, it wasn’t.

So I used Process Monitor to check where UserTools was creating .ray3hosts, and it turned out that on Windows XP, UserTools creates the .ray3hosts file in the “wrong” place:

C:\Documents and Settings\blairs\Autodesk\Softimage_2011_Subscription_Advantage_Pack\.ray3hosts

It’s the wrong place because Softimage looks for .ray3hosts here:


Some workarounds:

  • Manually copy the .ray3hosts file to the right place
  • Edit setenv.bat and set MI_RAY_HOSTSFILE to point to the folder used by UserTools
  • Start UserTools from a Softimage command prompt, so it picks up XSI_USERROOT from the environment set by setenv.bat

Setting the active project

To set the active project, you use CreateProject to get an XSIProject object and then assign the XSIProject object to the XSIApplication.ActiveProject2 property.

Application.LogMessage( Application.ActiveProject2.Path ) 

# In this example, I use the path to an existing project
sPath = "C:\\Users\\blairs\\Documents\\Support\\Project" 
oProj = Application.CreateProject( sPath ) 

# ActiveProject2 is a property that takes an XSIProject object
Application.ActiveProject2 = oProj 

Application.LogMessage( Application.ActiveProject2.Path ) 

# INFO : C:\Program Files\Autodesk\Softimage 2011 Subscription Advantage Pack\Data\XSI_SAMPLES
# INFO : C:\Users\blairs\Documents\Support\Project

You can use CreateProject on an existing project, and you’ll get back the object for that project. However, CreateProject will re-create any of the missing default folders (like Actions, Audio, Backup, and so on). If you’re using a customized set of project folders, you can avoid this by using the deprecated ActiveProject property:

p1 = "C:\\Program Files\\Autodesk\\Softimage 2011 Subscription Advantage Pack\\Data\\XSI_SAMPLES"
Application.ActiveProject = p1

Troubleshooting installation failures

When a Softimage (or any other Autodesk product) installation fails, you’ll have to check the install logs to see what went wrong. Typically the only error message you’ll see during the actual install will be too generic to be helpful (for example, Error 1603, which could mean almost anything).

The installation log files are found in your %TEMP% folder.

The main log file is Autodesk_Softimage_IF.log.
If the installation works, you’ll see something like this:

2010/5/4:16:41:15	blairs	MTL-EXAMPLE	=== Setup started on MTL-EXAMPLE by blairs ===
2010/5/4:16:42:17	blairs	MTL-EXAMPLE	Install	Microsoft Visual C++ 2005 Redistributable (x64)	Succeeded	
2010/5/4:16:42:23	blairs	MTL-EXAMPLE	Install	Microsoft Visual C++ 2008 SP1 Redistributable (x86)	Succeeded	
2010/5/4:16:42:30	blairs	MTL-EXAMPLE	Install	Microsoft Visual C++ 2008 SP1 Redistributable (x64)	Succeeded	
2010/5/4:16:44:10	blairs	MTL-EXAMPLE	Install	Autodesk Softimage 2011 Subscription Advantage Pack 64-bit	Succeeded	
2010/5/4:16:58:36	blairs	MTL-EXAMPLE	=== Setup ended ===

If the install failed, Autodesk_Softimage_IF.log tells you which component failed to install.
For each component, there will be a [much] more detailed log.

Depending on whether you installed 64-bit (x64) or 32-bit (x86) Softimage, you’ll see these log files for Softimage:

  • Autodesk_Softimage_x64_Install.log
  • Autodesk_Softimage_x86_Install.log

For the Visual C++ Redistributable, these are the log files to look for:

  • vcredist_x64.log
  • vcredist_x86.log
  • vcredist_x64_2005.log
  • vcredist_x86_2005.log

In these files, I generally look for the point where the install rollback started, and the look back up the file from there. Or I search for things like “error” or “result”.

Once you find the error, it’s off to google to see what you can find.