ICE Particle Lifespan

A particle’s age is defined in time by the number of seconds it lives from when it’s emitted (born).

By default, a particle lives for the entire length of the simulation. It’s useful to have particles always available as you’re tweaking their parameters when setting up effects. As well, you may want the particles to remain in the scene for creating effects that require static clouds of particles, such as with stars, clouds, or fog.

There comes a time, however, when a particle’s life must end. For most effects, you need the particles to disappear at some point, and to do this you need to set the particle’s age limit, then delete them based on that age limit.

 

When particles are born, they’re not all born at exactly the same time within a frame, meaning that particles all have a different birth time. This means that when you’re using the particle’s age or age percentage, you won’t get banding or clumping effects because each particle’s birth time is staggered within the frame.

However, some compounds just require an age limit on particles so that they can calculate values properly, but the particles need to continue to be in the scene. For example:

• If you want to use the Modify Particle Value by Age % compound to change particle values, you need to set an age limit so that the percentage of the particles’ lives can be calculated. See Modifying ICE Particle Values for more information.

• If you’re using the particle State system, you can use the particle’s age as a trigger to cause a certain effect to happen, so you need to set an age limit. For example, when the particle reaches its age limit, a new set of particles is emitted from it, such as for fireworks. See ICE Particle States for information on using states.

• If you’re using the Particle Gradient shader to define the particle’s color using a gradient, you need to set the age limit so use a particle’s age percentage as an attribute for determining how to set the color gradient. See Particle Gradient Shader for information.

l

Limiting the Particles Age

If you want to limit the amount of time that a particle live, you need to use the Set Particle Age Limit compound. In this compound, you can set the Age Limit to control the maximum length of time (in seconds) that the particle exists after it is emitted.

Even though you can set the particle age limit here, you must use the Delete Particles at Age Limit compound to actually eliminate the particles — see the next section, Deleting Particles upon Reaching Their Age Limit.

To set the particles age limit

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

2. Click the Task > Particles tab in the preset manager on the left side of the ICE Tree.

3. Select the Set Particle Age Limit compound from the Emission Control group, and drag it into the graph area.

4. Plug the Set Particle Age Limit Execute output into the Execute on Emit port on the particle’s Emit compound.

In the example below, the Modify Size and Modify Color compounds are also plugged in. Both of these compounds can use the Age %, as determined by the age limit, to define how the particle size and color change over the particle’s life span.

 

5. In the Set Particle Age Limit’s property editor, set the particle age limit value, which is in seconds from the time it’s emitted.

 

You can use the Frames to Seconds and Seconds to Frames compounds in the Conversion group on the Tool panel when you’re working with time values in an ICE tree, such as with the particle age.

For example, if you wanted particles to live exactly 67 frames, you could plug the Frames to Seconds compound’s Seconds output into the Age Limit port on the Set Particle Age Limit compound, and specify 67 as the age limit. The 67 frames are converted to 2.24 seconds (or whatever your frame rate is) by the conversion compound.

Randomizing and Turbulizing the Particle Age Limit

There are several compounds on the Task > Particle tab that let you add randomness or turbulence (noise) to the age limit value so that the particles don’t all end their lives at the same time, such as with flickering flames. Adding randomness or noise helps the particles look more natural for certain types of effects.

 

These compounds include:

• Modifiers > Randomize Value by Range and Turbulize Value by Range

• Modifiers > Randomize Around Value and Turbulize Around Value

See Modifying ICE Particle Values for information on each one of these compounds.

Deleting Particles upon Reaching Their Age Limit

Setting the age limit is not enough to kill the particles when they reach it. You need to deliberately delete them based on the age limit: the Delete Particles Upon Age Limit compound does the job for you. It deletes each particle when it reaches its age limit as defined in the Set Particle Age Limit compound (think of it as “Logan’s Run” for particles).

To delete particles when they reach their age limit

1. Make sure the Set Particle Age Limit compound is plugged into the Emit compound, as described previously in Limiting the Particle’s Age.

2. Select the Delete Particles Upon Age Limit compound from the Deleting Particles group, and drag it into the ICE view.

3. Plug this compound’s Execute output into a Port on the ICETree node.

 

Deleting Particles

You can delete particles directly or by using an object’s volume.

Deleting particles is usually used as part of a state system or some behavioral setup, such as having particles die when they get to a certain location or upon collision with object.

For information on states, see ICE Particle States; for information on behavioral compounds, see ICE Particle Surface Interaction Behaviors.

To delete particles

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

2. Click the Task > Particles tab in the preset manager on the left side of the ICE Tree.

3. Select the Delete Particles compound from the Deleting Particles group, and drag it into the ICE view.

4. You can plug its Execute output into any Execute-type port, such as the Execute on Trigger or Execute Once on Enter State port in a State compound; or the Execute on Collide port in the Bounce Off Surface compound.

(If you plug this compound’s Execute output into a port on the ICETree node, it deletes particles at every frame as they’re born!)

Deleting Particles by Volume

You can also delete particles if they are within the volume of an object. You can set the falloff within the object’s volume to shape how the particles are deleted.

 

To delete particles by volume

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

2. Click the Task > Particles tab in the preset manager on the left side of the ICE Tree.

3. Select the Delete Particles by Volume compound from the Deleting Particles group, and drag it into the ICE view.

4. Plug this compound’s Execute output into a port on the ICETree node.

5. Create a volume object in which the particles will be deleted and drag its name into the ICE tree to create a node for it.

6. Plug its Value output into the Volume port of the Delete Particles by Volume compound.

 

7. Open the Delete Particles by Volume property editor and set its falloff distance, which is the maximum distance (in Softimage units) in which the particles are deleted. Then use the profile curve to shape how the falloff of the particle deletion happens.

For more information on the parameters, click the ? icon in the property editor to open the online help for this topic.

Particle Age Attributes

There are two particle attributes that are used to define particle age. 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.

Age: The time, in seconds, since a particle was emitted (born). This attribute is used in the Emit compounds, which usually set it to a fraction of a frame to simulate a continuous emission.

You can get the Age attribute with the Get Particle Age compound, which is simply the Get Data node with the Age attribute already specified.

AgeLimit: The maximum age of a particle in seconds. This attribute must be set in order to use compounds that set values based on age percentage, such as the ones mentioned at the beginning of ICE Particle Lifespan.

You can set the AgeLimit attribute using the Set Particle Age Limit compound (see Limiting the Particle’s Age).

You can get the AgeLimit attribute with the Get Particle Age Limit compound, which is simply the Get Data node with the AgeLimit attribute already specified.

You can also use the Get Particle Age Percentage compound that uses both the the Age and AgeLimit attributes with a Divide by Scalar node to get a percentage value.



Autodesk Softimage v.7.5