Setting the Elasticity and Friction
After you’ve created particle and obstacle rigid bodies, you need to set up their rigid body properties that include elasticity and friction. You can set these properties for the obstacles in the Simulate Rigid Bodies node’s property editor: each obstacle can have different elasticity and friction values. If you want to set attributes for the points in the particle cloud, see Setting Elasticity and Friction Attributes on Rigid Body Particles.
It’s the combination of all rigid bodies (particles and obstacles) involved in the collision that determines the results. Any rigid body attribute values you set per particle in a point cloud are multiplied with the obstacle’s rigid body properties set in the Simulate Rigid Bodies property editor.
Although they aren’t direct rigid body properties, velocity and mass also play a large role in how much a rigid body rebounds in a collision:
• A rigid body moving at a high velocity is going to bounce more than one moving at a low velocity.
• A rigid body with a high mass value is going to bounce less than one with a low mass value, but it will have greater momentum.
![]()
|
Energy and momentum cannot be transferred to an obstacle object: they can only be transferred between two colliding particles. |
In the Simulate Rigid Bodies property editor, you can set the Elasticity slider’s value for each obstacle that is plugged into the Simulate Rigid Bodies node.
The obstacle’s Elasticity value is combined with the Elasticity attribute you can set on each particle in the point cloud to determine how much each particle bounces off this obstacle.
Elasticity is the amount of kinetic energy lost from an object when it collides with another object. For example, when a billiard ball hits the table, elasticity influences how much the ball rebounds.
A value of 0 means that the object loses all its kinetic energy upon collision (no bounce), while a value of 1 means that no kinetic energy is lost, so it rebounds with the same amount of energy. The default value is 0.5.
You can enter values higher than is allowed by the Elasticity slider range, but you cannot enter negative values. However, using values above 1 makes the rigid body actually return more energy at each collision. As well, using high values for elasticity can make a simulation less stable.
You should also keep the Elasticity value of obstacle objects low if they are going to be bouncing around inside an enclosed space such as a box or room.
In the Simulate Rigid Bodies property editor, you can set the Static Friction and Dynamic Friction sliders’ values for each obstacle that is plugged into the Simulate Rigid Bodies node.
Friction is the resistive force acting between rigid bodies that tends to oppose and dampen motion. For example, a billiard ball rolling along a table has a lower friction value than a rubber ball would. Likewise, a billiard ball rolling on a carpet would encounter more friction than if it was rolling on a marble floor.
Friction can be either static or dynamic. In general, static friction is greater than dynamic friction.
• The obstacle’s Static Friction value is combined with the StaticFriction attribute you can set on each particle in the point cloud to determine how each particle starts sliding on the obstacle when it is at rest.
Static friction is the force that opposes a rigid body from changing its state from resting to motion. For instance, if you place a cube on an sloped plane, the static friction determines how easily the cube begins its initial slide or tumble down the plane. The resistance along the plane is proportional to the amount of force that is pushing the rigid bodies together. Static friction has little or no effect after an object is moving.
• The obstacle’s Dynamic Friction value is combined with the DynamicFriction attribute you can set on each particle in the point cloud to determine how each particle slides on the obstacle when in motion.
Dynamic (also known as kinetic) friction is how much a moving rigid body resists movement against another rigid body’s surface (the opposite direction to motion along the plane of contact). This is the force that tends to slow down a rigid body in motion. This type of friction is generally proportional to any force that has been applied to the rigid body, so you can think of it as the ratio of frictional force to the applied force on the rigid body.
The value range for either Static or Dynamic Friction is between 0 and 1, with 0 being no friction (free movement) and 1 being full friction (no movement). The default value is 0.5. You cannot enter negative values or values over 1.
Setting Elasticity and Friction Attributes on Rigid Body Particles
You can set the Elasticity, StaticFriction, and DynamicFriction attributes for each rigid body particle in a point cloud. These attributes are not directly exposed as a parameter in a property editor or within a compound, but you can create a Set Data node and expose each attribute in it—see Setting ICE Particle Attributes for more information on how to do this.

Plug this Set Data node’s Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node (above the Simulate Rigid Bodies node) to update at every frame.

Autodesk Softimage v.7.5