Modifying ICE Particle Values
 
 
 

Particles can change as a function of their own lifetime or as a function of the lifetime of the particle simulation itself. This lets you create effects such as making particles change color or size as they age or having all particles suddenly accelerate at a given point in time.

There are several compounds in the Emission Control and Modifiers group on the Task > Particle tab that let you modify the values based on different criteria or add randomness or turbulence (noise) to the particle values. Adding randomness or noise helps the particles look more natural for certain types of effects.

Sizes of bees are randomized within a certain value range.

You can modify most particle values in these ways:

TipIf you're modifying the Size parameter with any of these compounds, make sure that the start values on their profile graphs isn't 0 (zero) or else the particles will have no size at emission! Just nudge the value up a bit on the Y axis to make it any value above zero.

Modifying Particle Values by their Age or Age Percentage

To have a particle attribute change over its lifetime, you can use either the Modulate Value by Age or Modulate Value by Age Percentage compounds. For example, you can change the size of smoke particles as they get older.

TipWhen 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.

Modifying Particle Values by Their Age

The Modulate Value by Age compound modifies particle values over their life span depending on their age. You don't need to set an age limit on the particles to use this compound.

To modify particle values based on their age

  1. Create a particle emission — see Setting Up Any Type of ICE Particle Emission.

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

  3. Select the Modulate Value by Age compound from the Modifiers group, and drag it into the graph area.

  4. Plug this compound's Value (scalar) output into different ports of many different compounds, such as the Speed, Mass, and Size ports on the Emit compound.

  5. If you are plugging the Modulate Value by Age compound into a port on the Emit compound, select an appropriate Set Particle Data compound from the Setters group and drag it into the graph area. For example, if you're modifying the Size parameter, get a Set Particle Size compound.

    You can also get the Set Data node from the Tool panel and select the appropriate attribute in it (see Getting and Setting ICE Particle Attributes).

    You need to use a Set Particle Data compound because plugging the Modulate Value compound into the Emit compound changes the particle's values only at emission time, but it won't keep evaluating them at every frame. This is what the Set Particle Data compound does: it can set the data and plug into the ICETree node so that the modulation is evaluated at every frame of the simulation.

  6. Plug another instance of the Modulate Value by Age's Value output into this Set Particle Data compound.

  7. Plug this Set Particle Data compound's Execute output into a port on the ICETree node.

  8. In the Modulate Value by Age property editor, you can set the Base value, which is value of 1 in the profile curve graph. For example, if you modify the particle Size parameter and you set the Base value to 5, the particles have a radius of 5 units when they have reached a value of 1 on the profile curve graph.

  9. Adjust the Profile curve to determine the shape of how the particle values are modified depending on their age. The graph represents the value (Y axis of the graph) over the particle's life (X axis of the graph).

    When the particle is born, the value of the parameter that corresponds to the curve at the start frame of the simulation is used. Then the value evolves according to its curve over the particle's lifetime.

Modifying Particle Values by their Age Percentage

The Modulate Value by Age Percentage compound modifies particle values depending on a percentage of their age as defined in the Set Particle Age Limit compound. A profile curve allows you to do the modulation.

Particles must have an age limit set using the Set Particle Age Limit compound so that the percentage of the particles' lives can be calculated.

Particle size changing based on the percentage of the particle's age limit.

To modify particle values based on a percentage of their age

  1. Create a particle emission — see Setting Up Any Type of ICE Particle Emission.

  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 (or Setters) group and plug its Execute output into the Execute on Emit port on the Emit compound.

    In its property editor, set the particle's Age Limit value in seconds.

  4. Select the Modulate Value by Age Percentage compound from the Modifiers group, and drag it into the graph area.

  5. Plug this compound's Value (scalar) output into different ports of many different compounds, such as the Speed, Mass, and Size ports on the Emit compound.

  6. Follow steps 5 to 9 in the procedure for Modifying Particle Values by Their Age above.

The Profile curve in the property editor shows how the particle values are modified depending on the percentage of their age as defined by the age limit.

Modifying Values Over Time

The Modulate Value Over Time compound modifies different particle values over time using a profile curve.

     

All particles' size changing at once over time: at frames 50, 100 and 150.

To modify particle values over time

  1. Create a particle emission — see Setting Up Any Type of ICE Particle Emission.

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

  3. Select the Modulate Value Over Time compound from the Modifiers group, and drag it into the graph area.

  4. Plug this compound's Value output into different ports of many different compounds, including ports on the Emit compound, such as Speed, Mass, and Size.

  5. If you plug it into the Emit compound, select an appropriate Set Particle Data compound from the Setters group and drag it into the graph area. For example, if you're modifying the Size parameter, get a Set Particle Size compound.

    You can also get the Set Data node from the Tool panel and select the appropriate attribute in it (see Getting and Setting ICE Particle Attributes).

    You need to use a Set Particle Data compound because plugging the Modulate Value compound into the Emit compound changes the particle's values only at emission time, but it won't keep evaluating them at every frame. This is what the Set Particle Data compound does: it can set the data and plug into the ICETree node so that the modulation is evaluated at every frame of the simulation.

  6. Plug another instance of the Modulate Value Over Time's Value output into this Set Particle Data compound.

  7. Plug this Set Particle Data compound's Execute output into a port on the ICETree node.

  8. Open the Modulate Value Over Time property editor and set these parameters:

    • Start Time is the first frame of the simulation at which you want to modify the value.

    • Duration is the number of frames over which the value is modified.

    • Loop toggles the looping of the modification, based on the start time and duration values, within the length of the simulation.

    • Base Value is the parameter's value that the particle reaches when the value is 1 on the Profile graph. For example, if you modify the particle Size parameter and you set this to 5, the particles have a radius of 5 units when they have reached a value of 1 on the profile curve graph.

    • Profile: This graph determines the particle value change over the Duration that you specify. The Base value is what is used when the value in the graph is 1.

Modifying Particle Values by Null or Volume

You can use shapes to modify particle values. When the particles are within the shapes, the values are modified using a falloff profile curve that you can adjust.

Modulate by Null

The Modulate By Null compound modifies particle values when the particles are within a null's shape. Because a null is drawn as intersecting lines by default, you need to change the null's Icon shape to something with volume for this compound to work (such as box, pyramid, diamond, etc.).

Particle speed changing when inside the null's shape.

To modify particle values using the shape of a null

  1. Create a particle emission — see Setting Up Any Type of ICE Particle Emission.

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

  3. Select the Modulate by Null compound from the Modifiers group, and drag it into the graph area.

  4. Plug this compound's Value (scalar) output into different ports of any compound that can accept a scalar value. For example, you can plug it into ports on the Emit compound, such as Speed, Mass, and Size.

  5. Create a null and open its property editor. Select an Icon shape that has volume, such as Box, Pyramid, Arrow Rings, Diamond, etc.

  6. Drag the null's name from an explorer into the ICE graph to create a node for it.

  7. Plug the null's Out Name output into the Null Name port on the Modulate by Null compound.

  8. If you plug it into the Emit compound, select an appropriate Set Particle Data compound from the Setters group and drag it into the graph area. For example, if you're modifying the Size parameter, get a Set Particle Size compound.

    You can also get the Set Data node from the Tool panel and select the appropriate attribute in it (see Getting and Setting ICE Particle Attributes).

    You need to use a Set Particle Data compound because plugging the Modulate compound into the Emit compound changes the particle's values only at emission time, but it won't keep evaluating them at every frame. This is what the Set Particle Data compound does: it can set the data and plug into the ICETree node so that the modulation is evaluated at every frame of the simulation.

  9. Plug another instance of the Modulate by Null's Value output into this Set Particle Data compound.

  10. Plug this Set Particle Data compound's Execute output into a port on the ICETree node.

  11. In the Modulate by Null compound's property editor, you can set the Multiplier value, which multiplies the parameter's value. For example, if you modifying the particle Speed parameter and you set this to 5, it multiplies the current Speed value by 5 times.

  12. Adjust the Profile curve to determine the shape of how the particle values are modified when they are within the null. The graph represents the Multiplier value (Y axis of the graph) over the distance within the null (X axis of the graph).

Modulate by Volume

The Modulate by Volume compound modifies particle values when the particles are within an object's volume.

To modify particle values using the volume of an object

  1. Create a particle emission — see Setting Up Any Type of ICE Particle Emission.

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

  3. Select the Modulate by Volume compound from the Modifiers group, and drag it into the graph area.

  4. Plug this compound's Value (scalar) output into different ports of any compound that can accept a scalar value. For example, you can plug it into ports on the Emit compound, such as Speed, Mass, and Size.

  5. Create an object whose volume you want to use to modulate the particle's values. This must be an object with geometry. Drag the object's name from an explorer into the ICE graph to create a node for it.

  6. Plug the object's Value output into the Geometry port of the Modulate by Volume compound.

  7. If you plug it into the Emit compound, select an appropriate Set Particle Data compound from the Setters group and drag it into the graph area. For example, if you're modifying the Size parameter, get a Set Particle Size compound.

    You can also get the Set Data node from the Tool panel and select the appropriate attribute in it (see Getting and Setting ICE Particle Attributes).

    You need to use a Set Particle Data compound because plugging the Modulate compound into the Emit compound changes the particle's values only at emission time, but it won't keep evaluating them at every frame. This is what the Set Particle Data compound does: it can set the data and plug into the ICETree node so that the modulation is evaluated at every frame of the simulation.

  8. Plug another instance of the Modulate by Volume's Value output into this Set Particle Data compound.

  9. Plug this Set Particle Data compound's Execute output into a port on the ICETree node.

  10. In the Modulate by Volume compound's property editor, set the Multiplier value, which multiplies the parameter's current value. For example, if you modifying the particle Speed parameter, which has a value of 2, and you set the Multiplier to 5, the particles try to achieve a value of 10 when they're in the volume.

  11. Adjust the Falloff Profile curve to determine the shape of how the particle values are modified when they are within the object. The graph represents the Multiplier value (Y axis of the graph) over the Falloff Distance within the object (X axis of the graph).

    The Falloff Distance is the number of Softimage units within the volume.