ICE Compounds

Native Softimage ICE Compounds are fully documented in the Softimage user guides. The following table provides a list of links to each of the reference pages with a short description.

Add Force |
Add Forces | This compound is used as a type of ""hub"" when applying forces to particles or simulated objects. You plug other force outputs into its force ports and then it adds up all those forces and applies them to the particles. Note: If forces have already been applied to particles, this compound adds new force to the existing forces. Plug this compound's Execute output into a port on the ICETree node or into a State compound, if you using particle states.
Align on Velocity | This compound orients particles in the direction of their movement (velocity). This is useful for setting up anything that needs a specific orientation relative to its movement, such as birds, arrows, or objects following along a curve. Plug this compound's Execute output into a Port on the ICETree node.
Align Particle to Camera |
Align Particle to Position | This 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. Plug this compound's Execute output into a Port on the ICETree node.
Align Particle to Surface | This compound orients particles in the direction of the surface 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. Plug this compound's Execute output into a Port on the ICETree node.
Align Particle to Vector | This compound orients particles in the direction of a vector that you choose. This is useful for setting up anything that needs a specific orientation relative to another scene element, such as the surface normals of an object. Plug this compound's Execute output into a Port on the ICETree node.
Align Strand Segments | This compound is used 'under the hood' for the Strand compounds.
Align Strand to Particle Trajectory |
Align to Emit Location | This compound changes the orientation of the particles so that their local Y axes point in the direction of their location of emission. Plug this compound's Execute port into an Execute on Emit port of the Emit compound.
Bend Strands | This compound bends particle strands along the particle's local orientation axis or along a global axis. Plug its Execute output into a Execute on Emit port on an Emit compound or into a Port on the ICETree node.
Bend Strands Towards Vector | This compound bends the strands towards a vector that you define. Plug its Execute output into a Execute on Emit port on an Emit compound or into a Port on the ICETree node.
Blobs | This compound blends particles together when you have specified the Blob shape for the particles. Plug its Execute output into a port on the ICETree node.
Bounce off Surface | This compound makes particles bounce off one or more objects' surfaces upon collision. Plug its Execute output into a Port of the ICETree node or in an Execute port of a State compound, if you're using the state system.
Calc New Particle Velocity | Updates the velocity of particles on the ""self"" object based on force, mass, and the previous velocity.
Calculate Strand Ratios | This compound is used 'under the hood' for the Strand compounds.
Coagulate Force | This compound generates a force that attracts particles together. Once the particles get within the range defined by the Coagulation Size, the Coagulation Drag applies a drag force to slow down the particles. This compound is designed to be used for effects where drops of fluid coagulate, such as mercury or blood. Plug its Result output into a Force port on the Add Forces compound.
Constrain Strand Length |
Control Displacement Instance Animation |
Control Instance Animation | This compound acts as a playback control for the animation of the instanced geometry on the particles. Plug its Execute output into a Port on the ICETree node.
Convert Rate Per Second to Num Per Frame | Converts a scalar (interpreted as a rate per second) into an integer (interpreted as a number per frame). Useful for controlling particle emission.
Create Strands | This compound creates continuous shape segments drawn behind a particle, like a strand or trail. It does not create a new set of particles. Plug this compound's Execute output into an Execute on Emit port of an Emit compound, into a Port on the ICETree node, or into an Execute on Trigger port of a State compound, if you're using a state system. If you want the strands to follow moving particles like a tail, plug in the Strand Trails compound into the ICETree node.
Delete Particle | This compound simply deletes particles. Plug its Execute output into the ICETree node. If you're using it with State compounds, plug its Execute output into the Execute on Trigger port in the State compound.
Delete Particle at Age Limit | This compound deletes particles when they reach the age limit that is set in the Set Particle Age Limit compound. Plug this compound's Execute output into the ICETree node.
Delete Particles by Volume | This compound deletes particles if they are within the volume of an object. Plug this compound's Execute output into a port on the ICETree node.
Drag Force | This compound applies a force that slows down particles or simulated objects over time by adding flow resistance to the movement. Plug its Result output into a Force port on the Add Forces compound.
Emit Blast | This emitter blasts out particles over a certain number of frames. It uses two fcurves to control the particle emission rate and their initial velocity. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit from Curve | This compound emits new particles from a curve. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit from Null | This compound emits new particles from a null's centre. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit from Position | This compound emits new particles from any point in global space. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit from Surface | This compound emits new particles from the surface of a geometry. To use it, you need to plug one or more objects' Value outputs into the Emitter1 port. Plug the Emit from Surface's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit from Volume | This compound emits new particles within the volume of a geometry. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit Splash from Surface Collision | This compound emits a splash of new particles upon impact with an obstacle in a collision. This can be useful for creating effects like dust being created as a foot steps on the ground, or mud splashing up as a ball hits a mud puddle, sparks flying as two metal objects collide, or water splashing up as the hull of a boat hits the water. Plug this compound's Emit output into a Port on the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Emit Trail at Surface Intersection | This compound emits new particle trails from the point at which the emitter intersects with another object, like skid marks, mud tracks, or paint strokes. The particles then stick to the new (trail geometry) object. Plug this compound's Emit output into the ICETree node. This compound should be plugged in to the first port of the ICETree node because you usually need to emit particles before any other node or compound can be evaluated.
Every Nth Frame | This compound uses a specific interval of frames as a trigger for an effect in a State compound. For example, you can have an effect triggered at every 30th frame. Plug its Result output into a Trigger port on a State compound.
Every Nth Particle | Use specific particle intervals as a trigger for an effect. For example, you could have an effect triggered for every 10th particle that is born. Plug its Result output into a Trigger port on a State compound.
Filter by Distance to UV Location | This compound reduces the number of particles based on their distance to a UV location on a NURBS surface or curve object. Particles are emitted only when they are within a certain distance of this location on the object. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter by Null | This compound reduces the number of particles based on them being within a null icon's shape. The null must intersect with the emitter in order to emit particles. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter by Object Intersection | This compound reduces the number of particles based on the emitter intersecting with another object. Particles are emitted only within that intersection area. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter by Texture Map | This compound reduces the number of particles that are emitted based on the texture map luminance (brightness) values (using an image or sequence): the darker the area of the texture map, the more particles are blocked from being emitted. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter by Volume | This compound reduces the number of particles based on them being within an object's volume. The volume object must intersect with the emitter in order to emit particles. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter by Weight Map | This compound reduces the number of particles that are emitted based on the weight map that is attached to the emitter. Particles are emitted only where the weight map has values over 0. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Filter if Emitted | This compound is used 'under the hood' in the Filter compounds.
Flow Along Curve | This compound modifies the velocity vector so that particles flow along a curve's tangent. Plug its Execute port into a Port on the ICETree node.
Flow Around Surface | This compound makes particles flow around a surface, avoiding it like an obstacle. Plug its Execute port into a Port on the ICETree node. If you want to align the particles to the obstacle's surface, plug the Align Particle to Surface compound's Execute output into an ICETree node's port, then plug the surface object's Value output into the Geometry port of the Align Particle to Surface compound.
Footprints | This compound simulates deformation of the ground when in contact with feet or other objects
Frame Cycle Control | This compound lets you cycle frames when you play back a cached file. Plug its Frame output into the Frame port of the Cache on File node.
Frames to Seconds | This compound converts time values from frames to seconds. Plug its Seconds output into any time-related port that accepts a scalar value, such as the Age Limit port on the Set Particle Age Limit compound.
Generate 3D Point Grid | Generates a three dimension grid of points by specifying the number of points and the spacing in each dimension. You need to connect this node to a port on the ICE Tree node of an empty point cloud. You can also generate a 3D Point grid by using the ApplyICEOp command. For example:GetPrim PointCloud,""PointCloud"" ApplyICEOp ""Generate Point Grid""
Generate Points | This compound is used 'under the hood' in the Emit compounds.
Generate Strand Trails | This compound dynamically creates as many strand segments as you need for a simulation based on the number of frames in the simulation and the limit of segments you have set. One strand segment is created per second up to the maximum number of segments that you have set. It does not create a new set of particles. Plug its Execute output into a Port on the ICETree node or into an Execute on Trigger port of a State compound, if you're using a state system.
Get Bounding Box | This compound gets the object's bounding box data. You can output the Minimum and Maximum value for each XYZ value.
Get Closest Location on Geometry | This compound gets the geometry component data on the object that is plugged in here. You can output the Location, Position, and Normal data from the object.
Get Distance to Goal | This compound gets the distance from the current particle position to its goal object. You can use this compound in conjunction with the different Goals compounds. You can output the Resulting scalar value.
Get Distance to Neighbors | This compound gets the distance from the current particle position to its closest neighboring particles.
Get Distance to Object | This compound gets the distance from the current particle position to an object. You can output the Distance and Distance Vector values.
Get Distance to Surface | This compound gets the distance from the current particle position to the surface of an object. You can output the Distance and Distance Vector values.
Get Edges | For each point on the ""self"" object, returns an array of vectors representing the point's position subtracted from its neighbors' positions.
Get Location by Raycast | xx
Get Moving Towards Object | This compound gets the distance from the current particle position to an object and the particle's velocity. You can output the Resulting scalar value.
Get Moving Towards Surface | This compound gets the distance from the current particle position to the surface of an object and the particle's velocity. You can output the Resulting scalar value.
Get Nearby Points | For each point on the ""self"" object, returns an array of points on the same object.
Get Neighboring Particles | This compound gets the particle ID and point position data from the particle's neighboring particles. You can output the Number of Points, Points, and Point Positions values.
Get Neighboring Particles by State | This compound gets the particle ID and point position data from the particle's neighboring particles for a particular State compound. You can output the Found (Boolean), Number of Points, and Points values.
Get Neighbors | For each point on the ""self"" object, returns an array of the connected points' locations and an array of their local positions.
Get Num Neighboring Particles | This compound gets the amount of the particle's neighboring particles. You can output the Number of Neighbors.
Get Num Particles | This compound gets the amount of the particles within a point cloud. You can output the Number of Particles.
Get Particle Age | This compound gets the particle's current Age data as set by its Age attribute. You can output this Age data.
Get Particle Age Limit | This compound gets the particle's current Age Limit data as set by its AgeLimit attribute. You can output this Age data.
Get Particle Age Percentage | This compound gets a percentage of the particle's current Age data as set by its Age attribute. You can output the Resulting scalar data.
Get Particle Collision Location | This compound gets the particle's location at the point of collision with an obstacle. You can output the particle's Hit Location, Position, Normal, and Hit Force data.
Get Particle Color | This compound gets the particle's current color data as set by its Color attribute. You can output this Color data.
Get Particle Color at Emit | This compound gets the particle's color data at emission time as set by its Init_Color attribute. This value is defined in the Emit compound. You can output this Color data.
Get Particle Emit Location | This compound gets the particle's point position and normal values at emission time as set by its EmitLocation attribute. You can output the particle's Location, Position, and Normal data.
Get Particle Force | This compound gets the particle's current force data as set by its Force attribute. You can output this Value as a 3D vector.
Get Particle Goal | This compound gets the goal object's point position and normal values as set by its Goal Location attribute. This is used in conjunction with the compounds found in the Goals group. You can output the goal object's Location, Position, and Normal data.
Get Particle Mass | This compound gets the particle's current mass data as set by its Mass attribute. You can output the Mass as scalar data.
Get Particle Movement | This compound gets the velocity from the particle for the current frame. You can output the Movement this Frame value as a 3D vector.
Get Particle Orientation | This compound gets the particle's current rotation data as set by its Orientation attribute. You can output the Orientation as rotation data.
Get Particle Parameter for Modify |
Get Particle Position | This compound gets the particle's current position data as set by its PointPosition attribute. You can output the Position value as a 3D vector.
Get Particle Scale | This compound gets the particle's current scale (XYZ) data as set by its Scale attribute. You can output the Scale value as a 3D vector.
Get Particle Shape | This compound gets the particle's current shape data as set by its Shape attribute. You can output the Shape data.
Get Particle Size | This compound gets the particle's current size data as set by its Size attribute. You can output the Value as scalar data.
Get Particle Slide Location | This compound gets the particle's position and normal data at the point of contact with an obstacle when sliding using the Slide on Surface compound. This is defined by the particle's SlideLocation attribute. You can output the particle's Location, Position, and Normal data.
Get Particle State ID | This compound gets the ID of the State compound in which the particle is currently defined. You can output this Value as an integer.
Get Particle Stick Location | This compound gets the particle's position and normal data at the point of contact with an obstacle when sticking using the Stick on Surface compound. This is defined by the particle's StickLocation attribute. You can output the particle's Location, Position, and Normal data.
Get Particle Velocity | This compound gets the particle's current velocity data as defined by its PointVelocity attribute. You can output the Velocity Vector and Speed data.
Get Particle Velocity at Emit | This compound gets the particle's velocity data at emission time as defined by its Init_PointVelocity attribute. You can output the Emit Velocity Vector and Emit Speed data.
Get Point ID | This compound lets you access the ID of a point in a mesh, or a particle in a point cloud. Particles have a Point ID for each point that you can access directly using a Get Data node, but polygon meshes do not have this. This compound is used in compounds that need the ID of a particle to generate things like random values. If you use this compound, rather than accessing the point ID directly, any compound you build with it can be used on both meshes and point clouds. Plug its Point ID output into any port that accepts integers per point of a point cloud.
Get Point Normal | Returns the smoothed normal at each point on the ""self"" object.
Get Point Position | Returns the position of each point on the ""self"" object.
Get Point Texture Map Color |
Get Remaining Frame Fraction | Each particle gets simulated for the period of one frame. At the start of the simulation, this node returns a 0 value; at the end, it returns a 1 value, which means that the simulation is completed for this particle. Normally, the simulation happens all at once inside the Simulate Particle node: this node applies the force to the particle's motion, updates the particle's position, and then sets the SimulatedFrameFraction value to 1. However, sometimes the simulation is done in smaller pieces, such as when calculating where a particle hits an object during the simulation of the frame. If a particle moves from point A to point B during one frame of simulation, but within that frame it hits an object, the frame fraction is set to the ratio of the time already used up to the point where the particle hits the object. In this case, the Get Remaining Frame Fraction compound returns the remaining frame fraction (portion) that is left to simulate. The remaining frame fraction is a value between 0 and 1. Plug this compound's Result output into any port that can accept a scalar (per point) value.
Get Remaining Seconds in Frame | This compound is similar to Get Remaining Frame Fraction, except that it returns the time left to simulate in the current frame in seconds. This is usually a very small fraction in seconds. For example, at 30 fps, one frame is 1/30 of a second, or 0.0333 seconds. Halfway through the frame, this compound returns the value 0.016666, whereas the Get Remaining Frame Fraction compound would return a value of 0.5. You could use this compound to figure out how far a particle might move to guess its position after simulation. You can multiply its velocity by the result of this compound to get the movement of the particle in this frame (ignoring any forces). Plug this compound's Result output into any port that can accept a scalar (per point) value.
Get State Transition Time | This compound is used 'under the hood' for the State compounds.
Get State Value | This compound gets the State ID for the state that you select. You can output the Result value as an integer.
Get Texture Map Color | This compound gets the color values that are defined in the Texture Map of the object that is plugged in to this compound. Particles take on the color defined for the vertex to which they are closest.
Get Time in State | This compound gets the amount of time that the particle spends in a particular state. This is used in conjunction with the Set Timer compound. You can output the Time in Seconds as a scalar value.
Get Timer Values | This compound gets the particle state's timer values as set with the point cloud's Timer1_Start and Timer1_End attributes. This is used in conjunction with the Start Timer compound that lets you determine how long a particle stays in a particular state. You can output the Start Time, End Time, Elapsed Time (that the particles are in the state), and Elapsed Percentage data.
Get Vertex Color Value | This compound gets the vertex color values that are defined in the Vertex Color map of the object that is plugged in to this compound. Particles take on the color defined for the vertex to which they are closest.
Get Weight Map Value |
Get Weightmap Value | This compound gets the values that are defined in the Weight Map of the object that is plugged in to this compound. Particles take on the values defined at the location of the object you define. You can output the weight map's Value data.
Gravity Force | This compound applies a directional force that defines an acceleration over time. It moves particles or simulated objects based on their mass and existing velocity. Plug its Result output into a Force port on the Add Forces compound.
Half Pi | This compound sets half the value of pi, which is 1.57.
In Range | Returns whether Values is between Min and Max.
Increment Rotation with 2 Vectors |
Inherit Emitter Velocity | This compound sets the particle velocity based on the emitter's velocity. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Init Force and Velocity | This compound is used 'under the hood' for the Emit compounds.
Init Particle Data | This compound is used 'under the hood' for the Emit compounds.
Is Valid Location | Returns True if a location exists on any geometry in the scene, False otherwise.
Iterate On Array | Repeats the connected execute branch as many times as there are items in the array. If you want to affect a single item in each loop, use ""Self.__IteratorIndex"" as the array index value.
Jitter Emission Location Along Velocity Vector | Modifies EmitLocation based on PointVelocity and SimulatedFrameFraction. Useful for newly emitted points on fast-moving emitters.
Jitter Position Along Velocity Vector | Moves points along their velocity vector by a random amount. Useful for newly emitted particles on fast-moving emitters.
Leaf Falling Motion | This compound makes particles float down with a back-and-forth motion like leaves falling from a tree or papers fluttering down. Plug its Execute port into a Port on the ICETree node.
Limit by Time Range | This compound limits the particle emission to occur only within a certain range of frames. Plug this compound's Enable Emitter output into the Enable port of the Emit compound.
Limit Num Particles | This compound limits the number of particles that are emitted to create a one-time particle emission (that is, this is not a continuous number of particles per second). This is useful for things like blasts or intermittent emissions. Plug this compound's Enable Emitter output into the Enable port of the Emit compound.
Loop Value | Generates a repeating sequence of integer values between Limit1 and Limit2, based on Value.
Match Neighboring Particles Velocity | Interpolates a points' velocity between its own and the average of the nearby points.
Modify Particle Color | This compound modifies specific aspects of the particle color using different values and a gradient. This makes it easy to create a color shift. Plug its Execute output into an Execute on Emit port of the Emit compound, or any Execute port of other compounds such as Slide on Surface, Bounce on Surface, or Stick to Surface. You can also plug its Execute output into a Port on the ICETree node.
Modify Particle Size | This compound modifies the particle size over time using different values and a profile curve, which is useful for creating size shifts. Plug its Execute output into an Execute on Emit port of the Emit compound, or any Execute port of other compounds such as Slide on Surface, Bounce on Surface, or Stick to Surface. You can also plug its Execute output into a Port on the ICETree node.
Modulate by Null | This compound modifies particle or object parameter values when the particles or object's points are within a null's icon shape. Plug its Value (scalar) output into any compound's port that accepts scalar data, such as the Speed, Mass, and Size ports on the Emit compound. If you use this compound with the Emit compound, you need to plug another instance of its Value output into a Set Data compound for the type of data you're modifying (such as Set Particle Size if you're modifying the Size parameter). Then plug this Set Data compound into a port on the ICETree node so that the data is evaluated at every frame instead of just once at emission.
Modulate by Volume | This compound modifies particle or object parameter values using the volume of an object and a profile curve. Plug its Value (scalar) output into any compound's port that accepts scalar data, such as the Speed, Mass, and Size ports on the Emit compound. If you use this compound with the Emit compound, you need to plug another instance of its Value output into a Set Data compound for the type of data you're modifying (such as Set Particle Size if you're modifying the Size parameter). Then plug this Set Data compound into a port on the ICETree node so that the data is evaluated at every frame instead of just once at emission.
Modulate Value by Age | This compound modifies particle values over their lifespan depending on their age. Plug its Value (scalar) output into different ports of the Emit compound, such as Speed, Mass, and Size. Then plug another instance of its Value output into a Set Data compound for the type of data you're modifying (such as Set Particle Size if you're modifying the Size parameter). Plug this Set Data compound into a port on the ICETree node.
Modulate Value by Age Percentage | This compound modifies particle values depending on a percentage of their age as defined in the Set Particle Age Limit compound. Plug its Value (scalar) output into different ports of the Emit compound, such as Speed, Mass, and Size. Then plug another instance of its Value output into a Set Data compound for the type of data you're modifying (such as Set Particle Mass if you're modifying the Mass parameter). Plug this Set Data compound into a port on the ICETree node.
Modulate Value Over Time | This compound modifies particle values over time using a profile curve. Plug its Value output into xx ports of the Emit compound.
Modulate Velocity Over Time | This compound modifies particle velocity over its lifetime using a profile curve. This lets you easily make the particles accelerate or decelerate. It uses the point cloud's Age attribute as a reference. Plug this compound's Execute output into an Execute on Emit port of the Emit compound, or any Execute port of other compounds such as Slide on Surface, Bounce on Surface, or Stick to Surface. You can also plug its Execute output into a Port on the ICETree node.
Move Towards Goal | This compound makes particles move toward one or more goal objects. Plug this compound's Execute port into a Port on the ICETree node or in an Execute port of a State compound, if you're using the state system.
Move Towards Goal Location | This compound defines how particles move toward one or more goal objects. You use this compound in conjunction with the Set Particle Goal compound, which defines the location of the goals for the particles. Plug this compound's Execute port into a Port on the ICETree node or in an Execute port of a State compound, if you're using the state system.
Multi Goal Internal | This compound is used 'under the hood' in the Goal compounds.
Multi Goal Sequencer | This compound lets you set up multiple goal objects for particles and have the particles move toward each one of them in sequence. You use this compound in conjunction with multiple Move Towards Goal compound, each with a goal geometry plugged into it. Plug this compound's Execute output into a Port on the ICETree node or in an Execute port of a State compound, if you're using the state system.
Neighboring Particles Force | This compound generates a force between neighboring particles to attract them to each other when they get within a certain distance. This is similar to the Coagulate force, but there is no drag force so the particles keep moving instead of coagulating. Plug this compound's Result output into a Force port on the Add Forces compound.
Null Controller Force | This compound generates a force using a null to control the center, direction, and size of the force. Particles or simulated objects are either attracted to or repelled from the null's location. The force value that is generated is modulated from the center of the null towards the edges using the profile curve. Plug this compound's Result output into a Force port on the Add Forces compound.
Orbit Around Controller | This compound makes particles orbit around an object. Plug its Execute port into a Port on the ICETree node.
Pi | This compound sets the value of pi, which is 3.14.
Point Force | This compound repels particles or simulated objects from or attracts them towards a position (point) in space. Plug its Result output into a Force port on the Add Forces compound.
Randomize Around Value | This compound adds randomness to any parameter using a mean value around which the random values are generated according to the variance. Plug its Value output into different ports of any compound, such as the Speed, Mass, and Size ports of the Emit compounds, but there are many others that work.
Randomize Color | This compound adds a random value to specific channels of the particle color so that each particle uses a different color from the range you set. You set a mean value around which you determine the range of variance of color values. Plug this compound's Random Color output into any Color port, such as that of the Emit compound.
Randomize Color by Gradient | This compound uses a gradient to add a random value to the particle color. Plug this compound's Out output into any Color port, such as that on the Emit compound.
Randomize Direction | This compound spreads the emitted particles in random directions within a 'cone' that you define. The angle values you use are calculated from the point of emission for each side of the emission. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Randomize Emitter Value | This compound applies random values to several parameters in the Emit compound: Rate, Direction, Speed, Mass, and Size. Plug this compound's Result output into any of these ports mentioned of the Emit compound.
Randomize Rotation by cone | This compound lets you define the range of angle values that are randomly applied to objects or particles as they are emitted. The particles' orientation stays the same over their lifetime. Plug this compound's Result (Rotation) output into any compound's port that accepts Rotation data, such as the Orientation port of the Emit compound.
Randomize Value by Range | This compound adds randomness to any parameter using any value within a range of possible values. Plug its Value output into different ports of the different compounds, such as the Speed, Mass, and Size ports on the Emit compound, but there are many others that work.
Randomize Vector by Cone | This compound adds a random value to a direction (vector) that you specify so that different particles are emitted in different directions. Plug its Vector output into any vector-type port of any compound, such as the Direction port of the Emit compound.
Resize Vector |
Roll Particle | This compound rotates (rolls) particles at a rate that is relative to their size. This compound automatically uses the particle's Size parameter to define the rolling speed. Plug this compound's Execute output into a Port on the ICETree node.
Seconds to Frames | This compound converts time values from seconds to frames. Plug its Frames output into any time-related port that accepts a 3D vector value, such as any port on the Equals compound. For example, you could get and convert the particle age from seconds into frames, make it equal to a specific value, then delete the points (particles) when they reach that value.
Set Data | Sets the specified attributes to the supplied values.
Set Instance Geometry | This compound uses objects instead of particles for the geometry. You can use any 3D geometric object, a light, a camera, or even other point clouds in place of particles to create many different effects. If the instanced objects are animated, you can create crowds or flocking scenes, such as with flying birds or butterflies. Plug this compound's Execute on Emit output into an Execute on Emit port of the Emit compound.
Set Particle Age Limit | This compound sets a limit to the number of seconds that a particle lives from when it is born. If you want to kill off the particles at the end of this time, you need to use the Delete Particle at Age Limit compound in conjunction with this compound. Plug this compound's Execute output into the Execute on Emit port of the Emit compound or in a Port on the ICETree node.
Set Particle Color | This compound lets you set the particle's color value, using the particle's Color attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Force | This compound lets you set the particle's force, using the particle's Force attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Goal | This compound lets you define the goal object to which particles are attracted. You can also choose exactly to which geometry component on the goal object the particles are attracted. You use this compound in conjunction with the Move Towards Goal Location compound, which defines how the particles move toward their goals (orientation, velocity, etc.). Plug this compound's Execute output into the Execute on Emit port of an Emit compound or in an Execute port on a State compound, if you're using a state system.
Set Particle Instance Animation Time | This compound uses the point cloud's ShapeInstanceTime attribute to set the time (in seconds) at which the instance is evaluated for rendering. The evaluation happens at the current time (instead of the instance's animation time), so you still see the object animate. Plug its Execute output into an Execute on Emit port of the Emit compound.
Set Particle Mass | This compound lets you set the particle's mass, using the particle's Mass attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Orientation | This compound lets you set the particle's orientation, using the particle's Orientation attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Position | This compound lets you set the particle's position, using the particle's PointPosition attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Scale | This compound lets you set the particle's scale, using the particle's Scale attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Shape | This compound lets you set the particle's shape, using the particle's Shape attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Size | This compound lets you set the particle's size, using the particle's Size attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Speed | This compound lets you set the particle's speed, which is its distance travelled over time. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Stick Location | This compound lets you set the particle's position and normal data as defined by the StickLocation Attribute. This is the point of contact with an obstacle when sticking using the Stick on Surface compound. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Particle Velocity | This compound lets you set the particle's velocity data, using the particle's PointVelocity attribute as a reference. Plug its Execute output into the Execute on Emit port of an Emit compound to set this value once, or plug it into the ICETree node to update at every frame.
Set Point Position | Sets the point positions on the ""self' object.
Set State | This compound lets you set the current State for the particles. Plug its Execute output into an Execute-type port of any compound that is plugged into a State compound.
Slide on Surface | This compound make particles slide and drip off one or more objects' surfaces upon collision. Plug its Execute output into a Port of the ICETree node or in an Execute port of a State compound, if you're using the state system.
Spawn on Collision | This compound emits new particles upon collision with an object. The particles are emitted at the location of the collision. Plug this compound's Execute on Collision output into an Execute on Collide port in any of the collision compounds that have this port (such as Bounce on Surface, Stick to Surface, and Slide on Surface), or plug it into an Execute port of a State compound, if you're using a state system with a collision as a trigger.
Spawn on Trigger | This compound emits a particle explosion of new particles when a trigger value is reached in a state system. Plug its Execute on Trigger output into a Port on the ICETree node or into an Execute on Trigger port of a State compound, if you're using a state system.
Spawn Particles | This compound is used 'under the hood' for the Spawning compounds.
Spawn Trails | This compound emits a continuous stream of new particles from existing particles. Plug its Execute output into a Port on the ICETree node or into either the Execute Once on Enter State or Execute at Every Frame ports of a State compound, if you're using a state system.
Spin Particle | This compound causes particles to rotate in a spinning fashion. You can use this compound in conjunction with other orientation nodes; for example, use Align on Velocity to set the forward direction to [1, 0, 0], and then use this compound to spin the particle on that same axis. This causes a bullet spiral effect.Plug this compound's Execute output into a Port on the ICETree node.
Splash at Object Collision | This compound is used 'under the hood' for the Emit Splash from Surface Collision compound.
Spread From Controller | This compound emits particles away from a controller object or a specific location (no need for a controller object) that you select. The effect created by this compound is useful for creating particle explosions, water hoses, and similar types of simulations. You may want to use it in conjunction with the Emit Blast compound. Plug this compound's Execute on Emit output into the Execute on Emit port on the Emit compound.
Start Timer | This compound uses a timer to determine the amount of time that a particle spends in a certain state. This works in conjunction with the Test Timer compound. Plug its Result output into an If True port of an If node (for example) or any node or compound that causes an execution. If you're using states, plug its Result output into an Execute on Trigger port on a State compound.
State | This compound lets you define a particle behavior that is used with the State Machine compound. Each behavior is a combination of a trigger compound and an effect compound, such as particles spawning new particles when they collide with an obstacle. The particles can transition from one state to the next as you specify with its State ID. Plug each State compound's Execute State output into the State Machine compound in the order in which you want the states to be evaluated (top down evaluation). Each State compound contains its own Simulate Particles node, so you need to unplug the Simulate Particles node from the ICETree node so that it doesn't interfere with the states.
State Machine | This compound is the main processor for the state compounds that define particle behavior. At every frame, this compound executes the values from the States compounds that are plugged into it. The states are executed in the order in which they're plugged in, from top to bottom. Plug the State Machine's Execute output into the ICETree node.
State Transition Group | This compound is used 'under the hood' for the State compounds.
Stick to Location | This compound makes particles stick to a specific location on an object's surface upon collision and remain there for the duration of their lifetime. Plug its Execute output into a Port of the ICETree node or in an Execute port of a State compound, if you're using the state system.'
Stick to Surface | This compound makes particles stick to an object's surface upon collision and remain there for the duration of their lifetime. Plug its Execute output into a Port of the ICETree node or in an Execute port of a State compound, if you're using the state system.
Strand Sin Wave Movement | This compound animates the strand using the mathematical sine function, which creates an undulating wave motion. Plug its Execute output into a Port on the ICETree node.
Surface Force | This compound repels particles or simulated objects away from or attracts them towards the surfaces of objects. Plug its Result output into a Force port on the Add Forces compound.
Switch to Next Goal | This compound switches from the current goal object to the next one that you have plugged into the Move Towards Goal compound. Plug this compound's Execute output into the Execute When in Range of Goal port of the Move Towards Goal compound or in an Execute port of a State compound, if you're using the state system.
Test Bounding Box | This compound uses a certain number of particles within the particle's bounding box as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Collision With Surface | This compound uses the particle's collision with an obstacle as a trigger for an effect. Plug this compound's Result output into a Trigger port on a State compound, and plug its Save Hit Location into the Execute on Trigger port on a State compound.
Test Current Frame | This compound uses the current frame as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Current Time | This compound uses the time you set as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Distance to Goal | This compound uses the distance to an object defined as a particle goal as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Distance to Neighbors | This compound uses the distance from one particle to its neighboring particle as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Distance to Surface | This compound uses the distance to an object as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Inside Geometry | This compound tests for particles being inside a geometry volume. When the particles are inside the volume, it triggers the effect. Plug its Result output into a Trigger port on a State compound.
Test Inside Null | This compound tests for particles being inside the icon of a null. When the particles are inside the null, it triggers the effect. Plug its Result output into a Trigger port on a State compound.
Test is Spawned Particle | This compound uses the fact that the particles are spawned as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Num Particles | This compound uses a certain number of particles emitted in a point cloud as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Particle Age | This command uses the particle's age value as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Particle Position | This compound uses the particle's position in XYZ as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Particle Reached Age Limit | This compound uses the reaching of the particle's age limit value as a trigger for an effect, as defined in the Set Particle Age Limit compound. You need to have the Set Particle Age Limit compound plugged into the Emit compound's Execute on Emit port so that the state knows what the particle's age limit is. Plug this compound's Result output into a Trigger port on a State compound.
Test Particle Size | This compound uses the particle's Size value as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Particle Velocity | This compound uses the particle's velocity as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Random Probability | This compound uses a probability factor as a trigger for an effect. Plug its Result output into a Trigger port on a State compound.
Test Should Drip | This compound determines when a particle should drip down as a trigger for an effect. For example, you may want particles to act like a drop of water: when enough particles of water have accumulated or reached an edge, they will fall or drip down. Plug its Result output into a Trigger port on a State compound.
Test Should Unstick | This compound is used 'under the hood' for the Stick to Surface compound.
Test Time in State | This compound uses the amount of time that the particle spends in a particular state as a trigger. This is used in conjunction with the State Timer compound. You can output the Time in Seconds as a scalar value. Plug this compound into a Trigger port on a State compound.
Test Timer | This compound uses a certain amount of time passing as defined in a Start Timer compound as a trigger for an event. Plug its Result output into a Condition port of an If node (for example) or any node or compound that causes an execution. If you're using states, plug its Result output into a Trigger port on a State compound.
Test Visibility From Camera | This compound uses the particle's distance from the camera as a trigger for an effect. Only particles that are within visibility distance for the camera can trigger an effect. Plug this compound's Result output into a Trigger port on a State compound.
Test Weightmap Value |
Turbulize Around Value | This compound applies Perlin or Simplex noise (4D) to add turbulence to any parameter using a mean value around which the turbulence values are calculated. Plug its Value output into different ports of any compound, such as the Speed, Mass, and Size ports of the Emit compound, but there are many others that work.
Turbulize Color by Gradient | This compound uses a gradient to add turbulence (noise) to the particle color. Plug this compound's Out output into any Color port, such as that of the Emit compound.
Turbulize Emitter Value | This compound applies 4D Perlin noise to add turbulence to several parameters in the Emit compound: Rate, Direction, Speed, Mass, and Size. Plug this compound's Result output into any of these ports mentioned of the Emit compound.
Turbulize Particle Velocity | This compound applies Perlin noise (4D) to add turbulence to the particle velocity. Plug this compound's Execute output into an Execute on Emit port of the Emit compound, or any Execute port of other compounds such as Slide on Surface, Bounce on Surface, or Stick to Surface. You can also plug its Execute output into a Port on the ICETree node.
Turbulize Strands | This compound animates the strand using turbulence, which modifies the movement based on noise. Plug this compound's Execute output into a Port on the ICETree node.
Turbulize Value by Range | This compound applies Perlin noise (4D) to add turbulence to any parameter using any value within a range of possible values. Plug its Value output into different ports of any compound, such as the Speed, Mass, and Size ports of the Emit compound, but there are many others that work.
Twist Strand | This compound twists the strand starting from its base at the particle. This creates a twist around either the particle's local axis or the strand's axis, like a spiral. Plug this compound's Execute output into an Execute on Emit port of an Emit compound or into a Port on the ICETree node.
Unstick from Surface | This compound releases (unsticks) particles that are stuck to a surface using a Stick to Surface or Stick to Location compound. Plug its Execute output into the Execute on Trigger port on a State compound.
Wind Force | This compound generates a force that speeds up particles or simulated objects to a specified velocity. Plug its Result output into a Force port on the Add Forces compound.

Autodesk Softimage v7.5