ICE Particle Collisions with Obstacles

In addition to colliding with themselves, particles can collide with objects that are set as rigid body objects (known as obstacles).

 

To make particles collide with obstacles

1. Create a particle emission—see Creating ICE Particle Emissions.

2. Create one or more objects to be the rigid body obstacles, and drag their names from an explorer into the ICE graph to create Get Data nodes for them.

3. Click the Tool tab in the preset manager on the left side of the ICE Tree.

4. Select the Simulate Rigid Bodies compound from the Simulation group, and drag it into the graph area.

5. Plug one or more of the obstacle object’s Value outputs into Obstacle > Geometry ports on the Simulate Rigid Bodies node.

6. Plug the Simulate Rigid Bodies’ Simulate output into a port on the ICETree node.

7. If the Simulate Particles node is plugged into the ICETree node, unplug or delete it because you should have only one Simulate node plugged into an ICETree node at a time.

 

8. Open the Simulate Rigid Bodies property editor and set the collision properties for the obstacle—see Setting the Elasticity and Friction.

Rigid Body Obstacles in Groups

If you have many obstacle objects and want to deal with them as one entity in the ICE tree, you can create a group. The advantage of groups is that you can add objects to the group and have the particles automatically collide with them without having to bring them directly into the ICE tree and connecting them.

Remember that all obstacles in the group will have the same rigid body attributes (such as elasticity and friction), which is usually useful, but if you want to set some obstacles differently, you should remove them from the group and plug them in separately.

To create a group of rigid body obstacles

1. Select all the obstacle objects you want to use and press Ctrl+G to create a group.

2. From the explorer, drag the group name into the ICE Tree to create a Get Data node for the group.

3. Plug the Result output from the Group node into an Obstacle > Geometry port on the Simulate Rigid Bodies node.

Collision Geometry for Rigid Body Obstacles

The obstacle object’s collision geometry is approximated to the convex hull of the object’s shape. Convex hulls give a quick approximation of an object’s actual shape, with the results similar to an object being shrinkwrapped. Convex hull doesn’t calculate any dips or holes in the rigid body obstacle’s geometry, but is otherwise the same as the obstacle’s original shape.

 

For doing non-convex objects, you can decompose the object into proxy geometries, group them, and then use the group as the obstacle.

Collisions don’t work well with very thin objects, so grids are generally not a good idea to use as obstacles. It’s better to use a flattened cube that has some thickness, such as for creating a ground plane or table.

Small particles (especially sphere-shaped ones) with a high velocity can sometimes go through obstacles. To remedy this, you can set the Precision parameter in the Simulate Rigid Bodies property editor. It allows you to set the number of substep iterations that should be made when detecting collisons and resolving motion. By default, the precision is 60 (a substep iteration cannot be longer than 1/60 seconds).



Autodesk Softimage v.7.5