You can rotate individual particles to create many different effects, such as billowy smoke, flying debris, and swirling snowflakes.
You can set a particle’s rotation (orientation) when it’s emitted, which the particle keeps throughout its lifetime, unless some type of force makes it change. To add some variation to each particle’s orientation, you can use a randomizing compound.
You can rotate the particles in different ways as they’re emitted: align them to a surface, along their velocity, along a curve, or to a point to create billboard effects. You can also spin or roll them for different effects.
You can also find many rotation converters in the Rotation group on the Tool panel in the ICE Tree’s preset manager.
One thing you may notice when particles collide with objects is that their rotation doesn’t change after a collision. That is, if a rotated particle collides with an object, it doesn’t change its rotation as might happen in real life (such as with faster rotation or changed rotational direction upon impact).
Setting the Particle’s Initial Orientation
You can determine the orientation in which the particles are emitted from the emitter object. Their orientation stays the same over their lifetime.

To set the particle’s initial orientation
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the Emit compound’s property editor, set either of these:
- Select the Align to Surface Normal option to align the particle’s Y axis along the normal of the emitter object.
or
- Set the Orientation of the particle on its local X, Y, and/or Z axes. You can choose which of its axes any combination of them) around which the particle rotates. Like the classic airplane analogy:

- Then enter a specific Angle value, which is the amount of rotation in degrees around that axis.
For example, if the axis is (X=0, Y=0, Z=1) and the angle is 45, this means that the particle is rotated around its Z axis by 45 degrees. The angle specifies the amount of rotation, while the vector is the particle’s axis around which it is rotated.
Displaying the Particle Orientation
To help you visualize the orientation of each particle, change the display shape for the particles to a Cone in the Particle Display property editor. With a cone, you can see in which direction the particles are pointing, which is especially when you’re modifying their orientation with compounds.
You can also create a display attribute using the particle’s Orientation, then choose to display this as axes, angle numbers, angles, or a numeric value. This is especially useful if you’re working with wireframes or bounding boxes of particles, such as for instanced geometry.
For information, see Creating Particle Display Attributes.
You can randomize the initial orientation in which the particles are emitted using the Randomize Rotation by Cone compound. This compound lets you define the range of angle values that are randomly applied to the particles so that they are emitted using different rotation values. The particles’ orientation stays the same over their lifetime.

To randomize the particle’s orientation
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Randomize Rotation by Cone compound from the Modifiers group into the ICE view.
4. Plug this compound’s Result output into any Orientation port, such as the one in the Emit compound.

5. In the Randomize Rotation by Cone property editor, set the Cone Axis, which is particles’s local axis along which the randomization of the rotation occurs.
Then set the Start and End angle values, which creates the angle range in which the particle rotation can vary (0 - 360 is full rotation range).
You can also set a Twist value range, which is how much the particles rotate around their Y axis.
The Roll Particles compound rotates particles at a rate relative to their size to cause rolling. You can set the particle’s up vector value to define an axis along which it rolls, which is useful for creating effects such as rolling marbles or tumbling rocks.
If you want define a surface upon which the particles can roll, you can use the Slide on Surface compound, which contains the Roll Particles compound (see ICE Particles Sliding on Obstacles).

To roll particles
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Roll Particles compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. Open the Roll Particle property editor and set these values:
- Enter an Up Vector value in the XYZ text boxes. For example, if the axis is (X=1, Y=0, Z=0), this means that the particle is rotated to point in the X direction, which means that it rolls around its own Z axis.
- Then enter a Surface Velocity values, which is the direction and speed that determines the particle rolling.
The Spin Particle compound appropriately spins particles around an axis at a certain number of revolutions per second. This is useful for creating effects such as billowing smoke and explosions.
You can use this compound in conjunction with other orientation compounds. For example, use the Align on Velocity compound to set the forward direction to X=1, then you can spin the particle using that axis as well to create a bullet spiralling effect.

To spin particles in a direction
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Spin Particles compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. In the Spin Particle property editor, set the Spin Axis, which is the axis around which the particle spins, and the Spin Rate, which is the number of times the particle revolves per second.
For more information on the parameters, click the ? icon in the property editor or see Spin Particle.
Aligning Particles along a Velocity Vector
The Align on Velocity compound orients a particle to point along its direction of movement (vector). This is useful for creating effects such as flocks of birds, arrows, crowds, trajectories, bullets, or anything that needs a specific orientation relative to its movement.
If you’re using the Flow Along Curve compound, this compound is built in as an option—see ICE Particles Flowing Along a Curve for more information.
To align particles along a velocity vector
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Align on Velocity compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. In the Align on Velocity property editor, set the Local Vector, which is the axis that is used to align the particle. The Y axis is typically the vector that points along the length of the particle, depending on the shape of the particle. If you change your particle shape to a cone, you can see that the Y axis is the direction of the cone point.
6. Set the Weight, which defines how much the particle is rotated each frame. The value is a ratio, so if you set it to 1.0, the particle is immediately aligned. If you set this value to 0.1, the particle rotates by 10% each frame.
Aligning Particles to a Position (Billboarding)
The Align Particle to Position compound aligns particles to a position in global space. You can use this compound to do “billboard” effects by aligning the particles to point to the global position of a camera root.

To align particles to a position
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Align Particle to Position compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. If you’re using a camera to have the particles aligned toward it to create billboard effects, drag the Camera Root name into the ICE Tree view to create a node for it.
6. Using the Explorer button in the camera’s Get Data node, select its Global Pos parameter group or enter .kine.global.pos after the camera root’s name in the text box.
If you’re not using an object or camera for the aligned particles, set the Global Position, which is the XYZ position in global space to which the particles are aligned.
7. Plug the camera root’s Value output into the Global Position port of the Align Particle to Position compound.
8. In the Align Particle to Position property editor, set the Local Vector that is used to align the particles. The Y axis is typically the vector that points along the length of a particle. If you change your particle shape to a cone, you can see that the Y axis is the direction of the cone point. The X and Y axes are the sideways axes.
9. Set the Weight, which defines how much the particle is rotated each frame. The value is a ratio, so if you set it to 1.0, the particle is immediately aligned. If you set this value to 0.1, the particle rotates by 10% each frame.
Aligning Particles to a Vector
The Align Particles to Vector assigns a particle vector to point along a different vector. For example, you can assign the particle’s Y axis to point along the X vector or along a specific vector from an object or one that you’ve defined.

To align a particle vector to a different one
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Align Particle to Vector compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. Open the property editor for Align Particles to Vector and select the Local Vector that is used to align the particles. The Y axis is typically the vector that points along the length of a particle. If you change your particle shape to a cone, you can see that the Y axis is the direction of the cone point. The X and Y axes are the sideways axes.
6. If you want to use an object or a specific vector, plug its Vector output into the To Vector port of the Align Particles to Vector compound.
If you’re not using an input object, select the To Vector value which is the vector along which you want the Local Vector to point.
7. Set the Weight, which defines how much the particle is rotated each frame. The value is a ratio, so if you set it to 1.0, the particle is immediately aligned. If you set this value to 0.1, the particle rotates by 10% each frame.
Aligning Particles to Surface Normals
The Align Particles to Surface compound makes particles point along the direction of the normals of an object. This is useful for setting up anything that needs a specific orientation along an object, such as bugs crawling on a rock or something sliding over a surface.
If you’re using the Flow Around Surface compound, this compound is built in as an option—see ICE Particles Flowing Around an Object for more information. As well, you can align particles to the surface normals of the emitter object when they are created using the Emit from Surface compound.

To align particles to an object’s normals
1. Create a particle emission—see Creating ICE Particle Emissions.
2. In the ICE tree’s preset manager, click the Task tab and select Particles.
3. Drag the Align Particle to Surface compound from the Orientation group into the ICE view.
4. Plug this compound’s Execute output into a Port on the ICETree node.
5. Create an object toward which you want the particles to be aligned, and drag its name into the ICE Tree view to create a node for it. This must be a polygon mesh object.
6. Plug this object’s Value output into the Surface port of the Align Particles to Surface compound.

7. Open the property editor for Align Particles to Surface and set the Local Vector that is used to align the particles. The Y axis is typically the vector that points along the length of a particle. If you change your particle shape to a cone, you can see that the Y axis is the direction of the cone point. The X and Y axes are the sideways axes.
8. Set the Weight, which defines how much the particle is rotated each frame. The value is a ratio, so if you set it to 1.0, the particle is immediately aligned. If you set this value to 0.1, the particle rotates by 10% each frame.
9. Select the Enable Cutoff Distance option and set the Cutoff Distance value. This is the maximum distance (in Softimage units) within which the particles are aligned to the object.
Particle Orientation Attributes
There are two particle attributes that are used to define particle orientation. 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.
• Init_Orientation: A particle’s original Orientation value when it is emitted. This attribute it set by the Emit compounds, but you can change it using the Orientation parameter’s XYZ and Angle values in the Emit property editor (see Setting the Particle’s Initial Orientation).
• Orientation: Used to align particle shapes and sprites. This attribute is updated automatically by the Simulate Rigid Bodies node based on the AngularVelocity attribute and the effect of collisions. Normally, the reference frame for the orientation is the point cloud’s local space.
With strands, Orientation is used to align the base particle and the StrandOrientation attribute is used to align the shapes at the StrandPosition values (see ICE Particle Strands).
You can get and set the Orientation attribute with the Get Particle Orientation and Set Particle Orientation compounds, which are simply the Get Data and Set Data nodes with the Orientation attribute already specified.
Autodesk Softimage v.7.5