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 can collide with each other, based on their shape, as well as with other objects that are set as rigid bodies (obstacles).

Using particles as rigid bodies, you can create effects that involve many small pieces that collide or accumulate, such as bricks, stones, or anything falling in a pile or being blasted apart.

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. The PhysX dynamics engine that is used for creating non-ICE rigid bodies is also used for creating ICE rigid bodies. For more information on non-ICE rigid bodies in general, see Rigid Bodies.

 

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

 

 

Use the Emit Trail at Surface Intersection compound (see Emitting Particle Trails at Object Intersections) in combination with rigid bodies to have rigid body particles being emitted at the points where the emitter comes in contact with the rigid body obstacle. For example, you could emit pebbles at the points where a large rock hits the ground as it tumbles down a hillside.

For information on creating other types of collisions with particles, such as bouncing, sticking, or sliding, see About ICE Particle Collisions.

The Simulate Rigid Bodies Node

The node that makes all this rigid body action happen is the Simulate Rigid Bodies node. This node allows particles to collide with each other or with obstacle objects as rigid bodies. It updates a particle’s position, velocity, orientation, and angular velocity from the previous frame based on its rigid body attributes (such as elasticity, friction, shape, size, and scale).

The Simulate Rigid Bodies node calculates the particle and obstacle collisions according to the shape of their collision geometry, which is not necessarily the same as the particle or obstacle’s actual geometric shape. The collision geometry used is different depending on whether the rigid bodies are particles or obstacle objects:

• The collision geometry that is used for rigid body particles is a bounding shape that approximates the particle shape that is set in the Emit compound—see Collision Geometry for Rigid Body Particles.

• The collision geometry that is used for rigid body obstacle objects is approximated to be the convex hull of the object’s geometry—see Collision Geometry for Rigid Body Obstacles.

Rigid Body Attributes

There are several particle attributes that are used to define rigid body collisions. These attributes are used in several compounds, 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 and a list of all available ICE attributes, see ICE Attributes.

AngularVelocity

The angular velocity (rotational speed) of a point. The Simulate Rigid Bodies node uses this attribute to update Orientation, and sets it based on collisions.

CollisionScale

The scaling of a point's size in each of the XYZ axes used by the Simulate Rigid Bodies node for determining collisions—see Determining the Collision Size of the Rigid Body Particles for more information.

CollisionShape

The point’s shape used by the Simulate Rigid Bodies node for determining collisions—see Collision Geometry for Rigid Body Particles for more information.

CollisionSize

The base radius of a shape used by the Simulate Rigid Bodies node for determining collisions—see Determining the Collision Size of the Rigid Body Particles for more information.

DynamicFriction

The coefficient of dynamic friction. This attribute is used by the Simulate Rigid Bodies node to calculate particle motion in a collision—see Friction for more information

Elasticity

Controls the ratio of velocities after a collision (coefficient of restitution). This attribute is used by the Simulate Rigid Bodies node to calculate particle motion in a collision—see Elasticity for more information.

StaticFriction

The coefficient of static friction. This attribute is used by the Simulate Rigid Bodies node to calculate particle motion in a collision—see Friction for more information.



Autodesk Softimage v.7.5