ICE Rigid Body Dynamics

 
 
 

Rigid body dynamics let you create realistic motion using particles as rigid body objects (referred to as rigid bodies), which are objects that do not deform in a collision. This means that the particles in the same point cloud can collide with each other, as well as with other objects that are set as rigid bodies (referred to as collision objects or obstacles).

Rigid bodies are collision objects and have physical properties to calculate their reactions in a simulation. These properties include elasticity, friction, and the collision geometry type. You can also set springs and dampers between points on any geometry that is simulated with ICE rigid bodies.

ICE rigid body particles are best for creating a large number of small objects that collide. You can create effects that involve many small pieces that collide, accumulate, fall into a pile, are blasted apart, and so on.

PhysX Dynamics and Bullet Physics Engines

There are two ICE nodes in an ICE tree makes all the rigid body action happen: Simulate Rigid Bodies and Simulate Bullet Rigid Bodies. Either of these nodes allows particles to collide with each other or with obstacles as rigid bodies.

Each node uses a different physics engines for simulating rigid bodies:

  • The The Simulate Rigid Bodies Node node uses the PhysX dynamics engine for creating ICE rigid bodies.

    The PhysX engine is the same one that is used for creating non-ICE rigid bodies - see Rigid Bodies.

    Due to PhysX limitations, you cannot have more than 60,000 rigid bodies in a simulation environment.

  • The Simulate Bullet Rigid Bodies node uses the Bullet physics engine for creating ICE rigid bodies. This allows you to use the actual shape of obstacle objects and convex hulls for rigid body particles, among other things.

Rigid Body Attributes

There are several particle attributes that are used to define rigid body collisions. These attributes are used in several nodes and compounds that are described in this section, but you can also use them on their own in an ICE tree by specifying them in the Get Data and Set Data nodes, as described in Using ICE Particle Attributes.

For more information on attributes in general, see ICE Attributes.