ICE Particles Bouncing Off Obstacles

 
 
 

Using the Bounce Off Surface compound, you can make particles bounce off any number of obstacles upon collision. This is useful for creating ballistics, fragments, rain, or other debris bouncing off surfaces. The collision geometry that is used is the actual shape of the particles and the obstacle; however, for particles with instanced shapes, the collision geometry is a bounding sphere.

You can choose to use the Bounce Off Surface compound on its own or as part of a more extensive effect via a State system.

Tip

If you create collisions with particles using any of the Surface Interaction compounds (such as the Bounce Off Surface compound), you cannot also make those particles into rigid bodies in the same ICE tree. This is because the Surface Interaction compounds use the Simulate Particles node, while particle rigid bodies use the Simulate Bullet Rigid Bodies or Simulate Rigid Bodies node.

For information on particle rigid bodies, see ICE Rigid Bodies.

Particles are emitted toward the grid and bounce off of it. The large surface below is also set as an obstacle, so the particles bounce off that too.

To make particles bounce off an obstacle

  1. Create one or more objects that you want to use as obstacles for the particles. These objects need to have geometric surfaces, such as polygon meshes or NURBS surface objects. Make sure that the particles will reach these obstacles at some point in the simulation.

  2. Create a particle emission — see Creating a Basic Particle Emission.

  3. Choose Particles Collision Bounce Off Surface from the ICE toolbar.

    This command adds the Bounce Off Surface compound to the ICE tree, plugging it into the Execute port of the Simulation Root compound.

  4. Pick one or more objects to use as the obstacles for collision. Each object's Get data node is then plugged into the Surface port of the Bounce Off Surface compound.

    You can also add more obstacles objects to the ICE tree later — drag each obstacle's name into the ICE Tree view to create a Get Data node for it, then plug it in as the other obstacles.

  5. In the Bounce Off Surface property editor, set the parameters as you like for the collision. This affects the interaction of the particles with all obstacles that are plugged into this compound.

    For obstacles that are enveloped or have animated deformations, make sure that the Collision Method is set to Continuous Animated Collisions so that the change in its shape is accounted for during the collision.

To use this compound with a state system

  1. Create a particle emission as described above.

  2. In the ICE Tree, set up State compounds as you like, as described in Overview of Creating a Particle State Setup.

  3. Plug the Bounce Off Surface compound's Execute output into an Execute Every Frame port of a State compound.

  4. Continue with creating the effect you want with the State compound.

Deleting Particles Upon Collision

You can create a particle collision setup where the particles are deleted as they bounce off an obstacle.

  1. Create one or more objects that you want to use as obstacles for the particles. These objects need to have geometric surfaces, such as polygon meshes or NURBS surface objects. Make sure that the particles will reach these obstacles at some point in the simulation.

  2. Create a particle emission — see Creating a Basic Particle Emission.

  3. Choose Particles Collision Delete on Collision from the ICE toolbar.

    This command does two things:

    • It adds the Bounce Off Surface compound to the ICE tree, plugging it into the Execute port of the Simulation Root compound.

    • It adds the Delete Particle compound to the ICE tree, plugging it into the Execute on Collide port of the Bounce Off Surface compound.

  4. Pick one or more objects to use as the obstacles for collision. Each object's Get data node is then plugged into the Surface port of the Bounce Off Surface compound.

    You can also add more obstacles objects to the ICE tree later — drag each obstacle's name into the ICE Tree view to create a Get Data node for it, then plug it in as the other obstacles.

  5. In the Bounce Off Surface property editor, set the parameters as you like for the collision. This affects the interaction of the particles with all obstacles that are plugged into this compound.