Using custom ICE attributes with Exocortex Crate

- Mauricio Vines

Alembic has become the new standard for data exchange between different platforms and applications. After proving to be a success in productions like Iron Man 3 (2013) , Pacific Rim (2013) and The Amazing Spiderman (2012), Alembic is here to stay.

The development pipeline in a diverse production environment has never been simpler. Artists work in their preferred DCC tool, and save their scenes in Alembic, for later integration. Exocortex Crate now supports importing and exporting nearly everything you can create in Softimage, 3DS MAx and Maya.

Today we review one feature of Exocortex Crate: the custom ICE attribute export and import functionality for Softimage.

One notable feature of Softimage is its ICE architecture. ICE dataflows extend Softimage functionality intuitively without need of scripting. One powerful feature of the ICE architecture is the definition of custom attributes that 3D content creators can use to modify their scenes. Exocortex Crate implements an ICE node for exporting and importing custom node attributes. Artists can choose attributes to export using Crate just by adding nodes to their ICE tree definitions in Softimage.

Exocortex Crate supports importing and exporting custom ICE strings, floats and vectors for meshes, NURBS curves and particles. These are loaded using Crate provided nodes in the ICE environment.

Let us show how to export and import custom attributes with a simple example. We use a single particle at <0,0,0>. We add two custom attributes my_mass and my_goal and we set them to 1.5 and <1, 2, 3>, respectively. The following image shows the ICE tree for our example.


We want to export our custom attributes, so we add the node alembic_set_export_attribute_names. This receives the names of the attributes to export, as a comma separated list.


We force the evaluation of the nodes by enabling show values on the node connections. Otherwise, the export node may not be executed. See the section Beware of ICE Optimizations in Softimage documentation for more details.

Then we can export our scene by selecting our particle, and then clicking File->Export->Alembic 1.1. For information on the export features, check the Exocortex Crate Documentation.

Now we can import our alembic file and custom attributes. We open a new project, and we start by importing the alembic file by clicking on File->Import->Alembic 1.1. We select the features we want to import and then we browse for the file name. For details on the importing options, check the Exocortex Crate Documentation. In our example, the file is myExample.abc.

After importing, our particle appears in the scene with a simple ICE tree containing ABC Load Points nodes. To get our custom attributes, we create a new ICE tree where we import each attribute.

For each attribute we need to define:

  • the attribute name
  • the path to the alembic file
  • the path to the object (in our case the point cloud where our particle is). If you are unsure on how to get the path to an object, you can always see the internal structure of your alembic file with HDFView.
  • the alembic time attribute

We define the first three attributes using string nodes. To get the alembic time node, we create a Get Data node and double click on it to see its properties. Then we click on Explorer and we select the topmost item: alembic_timecontrol.



We connect the string data nodes with alembic_vec3f_per_point and alembic_float_per_point nodes to load the attributes. Expand each of these nodes and verify that the custom option is checked. Connect the output of these two nodes to set Data nodes that will associate these values with custom attribute names. Finally connect the set Data nodes to the ICE Tree node. The next figure shows how the ICE tree should look:



And you are done! The alembic file is loaded in our newly created scene. Our custom attributes are loaded and ready to be used.

This Exocortex Crate feature was driven in large part by the production needs of Gene Crucean of RGH Themed Entertainment and Todd Akita of Psyop. As well, here is a recent Samsung commercial from the talented artists at Tribbo Post. Tribbo Post used Softimage ICE to create these amazing simulations and then transfered that ICE data to Cinema4D for rendering using Exocortex Crate.


Find out more about Exocortex Crate Features and how to use it in your productions. Download the demo of Exocortex Crate from our product page and try it today!

Exocortex Blog

This is the blog of Exocortex, passionate CG software professionals creating tools for top artists, developers and studios.

View all our blog entries.

Browse our products.