About ICE Deformations

 
 
 

Any ICE tree that modifies point positions without adding or deleting points can be considered a deformation. You can apply one of several predefined ICE deformations using the Deform Create menu of the ICE toolbar. Alternatively, you can build your own deformation, either using some of supplied compounds or completely from scratch.

Building Deformations

Deformations typically get the current point positions, modify them based on based on various other data like normal direction, and then set the new positions.

The compounds in the Deformations category on the Tasks tab of the preset manager include complete deformations, in addition to others that can be helpful when building your own deformations, including compounds for getting, setting, and modifying specific attributes and data types.

Types of Deformation

ICE-based deformations can be divided into three types:

Simulated Deformations

To create a simulated deformation in ICE, you need to use a Simulated ICETree. You can use it to change an object's point positions in any way. The point positions are updated based on the previous frame instead of the lower operators in the construction stack. When you return to the first frame of the simulation, the geometry returns to its initial undeformed state.

Footprints is an example of an ICE-based deformation that is meant to be used in the Simulation region. See Footprints.

It is possible to use the Simulate Particles node to deform polygon meshes and other geometry types. You need to set at least one of PointVelocity and Force. If Mass is undefined, it is treated as 1.0. If Mass is 0.0, Force has no effect.

Time-based, Non-simulated Deformations

You can also use ICE to create deformations that are time-based, but not simulated in that they are not in the Simulation region of the construction stack and therefore do not depend on the previous frame's point positions.

One way to do this is to simply animate the input port values of the ICE tree. Another way is to include time-dependent nodes in the ICE tree, such as a Turbulence node. This node creates a coherent noise pattern that varies continuously in space, as well as optionally in time. There are also several Turbulize compounds based on this node, but designed to work with specific situations. You can find them in the preset manager.

Non–time-based Deformations

You can create deformations that are not time-based but instead depend on the position of deformer objects or other factors to modify point positions. The deformation can then be controlled by animating the deformers in any way.

Motion Blur

You can define custom vectors for motion-blurring deformations using the PointUserMotions attribute in ICE. See User Motion.