ICE modeling lets you build or modify polygon mesh topology procedurally. You can do things like: generate multiple instances with individual variations, build structures that follow terrain, shatter objects based on an animatable controller, and achieve many other effects by building custom compounds.
The Topology Attribute and Data Type
ICE modeling involves the Topology attribute of polygon mesh objects. This is a special attribute with a special data type that describes the object's topology.
You can get, modify, and set this attribute to change an object, or simply set it to build a mesh from scratch. When building from scratch, you can start with an empty mesh (Get Primitive Polygon Mesh Empty).
You modify the topology using a node with a topology-type port. This appends a modeling command to the topology description in the Topology attribute. The command is performed when the Topology attribute is set.
Topology nodes can be daisy-chained, with the result of one node being the input for the next. This accumulates a stack of modeling commands, which are all performed when the Topology attribute is finally set at the end.
You can also store topology-type values as custom attributes in any context. This has no effect on a mesh's actual topology in the scene, but it can be useful if you want to store a temporary topology value without setting the Topology attribute yet.
You can set the Topology attribute only in ICE trees in the Modeling region of the construction stack. Trying to set Topology anywhere else will result in errors shown as red nodes. However, there are workarounds for creating simulated meshes — see Simulated Topology.
Topology Nodes, Compounds, and Samples
The Topology category on the Tool tab of the preset manager contains many nodes that perform basic modeling operations like adding polygons, splitting edges, and so on. They are the equivalent of the non-ICE topology operators that perform similar operations.
In addition, the Topology task on the Task tab of the preset manager contains ready-made compounds organized by category, and several of the commands on the Modify Poly. Mesh menu apply operators that are actually ICE modeling compounds.
There's also several sample ICE modeling scenes available in the Scenes\ICE subfolder of the XSI_SAMPLES project.
All components — vertices, polygons, edges, and polynodes — are specified using their index. The index is a number from 0 up to the total number of components less 1. For example, if a mesh has 4 vertices then their indices are 0, 1, 2, and 3.
Softimage automatically assigns indices as you create components. You don't need to take care of indices yourself — in fact, you cannot assign indices manually. The first component created has an index of 0, the next has an index of 1, and so on.
Unlike particle IDs, however, indices are not unique — they may get reshuffled and re-used as components get added and deleted.