ICE: the universal production tool

There’s an interesting
thread on the mailing list about the [many] different uses of ICE in production:

ICE – The Universal Swiss Army Knife For Production
“I turned to my office mate and asked, “Did I mention today yet how much I love ICE?” and he replied “not yet, but it seems to be a daily thing with you.” So it got me to thinking, it might be fun (and useful) to start up a thread about the 1001 daily production uses for ICE technology that nobody thought about when it was being designed.”
– Brad Gabe

Friday Flashback #6

Things have changed a little over the last decade or so.

Back in 1999, we had Sumatra/XSI 1.0 running on a Toshiba Tecra 730 CDT laptop (Pentium 150mhz, SVGA Color 12″ display, 144MB RAM, 3.7kg).

Fast forward to 2011, and we have Softimage running on an 11″ Macbook Air (1.4Ghz Intel Core 2 Duo, 11.6″ 1366 by 768 display, 4GB RAM, 1.07kg).
Update: On the Macbook Air, Softimage is running under bootcamped Windows 7.

1999: Softimage Sumatra running on a Toshiba Tecra 730CDT laptop

2011: Softimage 2012 running on an 11" Macbook Air

Another pic of Softimage on my Macbook Air

Fixing corrupted models and scenes

As mentioned, the 2011 Hotfix2 will prevent new corruption, but it cannot fix corrupted scenes or models.
Here’s some tips from Yanick on the Dev team for fixing any models or scenes that you may have.

If you have a corrupted scene:

  • In this case you need to load an older version of scene where the shaders are connected, do a New Scene, load the corrupted scene again, and save a clean version of the scene.

If you have a corrupted model, try this to clean it up:

  1. Import the model (some materials may be disconnected because the shaders definitions of the ports are not loaded in the same order they were saved)
  2. Delete the model again (all the shader definitions are still in the scene)
  3. Import the model again (all the shaders are going to be connected because they can find the ports definitions during the load)
  4. Export the model again to save the shaders definitions in the right order

PS In 2012, when you load or import corrupted shaders, an error will be logged in the Script Editor. That`s going to make it easier to find corrupted scene/model than looking at materials one by one.

2011 HotFix 2 for disconnected shader nodes

HotFix 2 contains fixes for some common scenarios that result in corrupted materials and disconnected shader nodes in render trees. The Hotfix will prevent new corruption, but it doesn’t fix corrupted scenes or models. You will have to fix them one by one when possible.

Note: HotFix 2 includes HotFix 1.

Softimage 2011 Subscription Advantage Pack HotFix2
The SAP hotfix is now available on the Subscription Center (link requires login).

Softimage 2011 SP1 HotFix2
This hotfix is available at the Updates and Service Packs page.

Please make sure you install the right version of the hotfix: SP1 hotfix for Softimage 2011 SP1, and the SAP hotfix for Softimage 2011 Subscription Advantage Pack.

The HotFix Readme is below the fold…
Continue reading

ERROR : 2356 – This plug-in is not installed: FaceConnections

A customer reported that on some machines, he would get this error when he opened a certain scene:

// ERROR : 2356 – This plug-in is not installed: FaceConnections

This means that the scene contains some Face Robot properties, but the Face Robot workgroup is not loaded. This can happen, for example, if you enable Face Robot in a scene, then disable Face Robot and save the scene. This leaves some some Face Robot elements left in the scene.

Any time you load this scene into an instance of Softimage where Face Robot is disabled (eg Softimage is not connected to the Face Robot workgroup), you’ll get this error.

To fix this, use the scene explorer to find the Face model and delete the Face model. The Face model has a FaceConnections property, and when Face Robot is not enabled, you will get that error at startup.

Using the First Valid node

First Valid allows you to handle possible graph evaluation errors by providing alternative branches.

For example, here’s how you’d set up a compound to use either an attribute value or a value entered in the compound PPG. In this example, the PPG value is the fallback: if the attribute is not set, the value from the PPG is used.

Here’s another example. If there’s a texture map on the object, First Valid will pass through the texture map color. Otherwise, solid black is used.

Note that you don’t need to keep the constant color node. You just need it to force the type (Color) of the First Valid node.
After that, you can simplify to this: