Attributes are data that are associated with scene elements. Attributes can be stored on components such as points, or on objects, such as point clouds, as is the case with particles. When you set an attribute on a point cloud, you are actually setting it on all points within that cloud.
There are three types of attributes, as described in ICE Attributes [ ICE Reference ]: inherent, predefined, and custom. Some nodes and compounds automatically get and set certain attributes of any of these types, but you can also get and set particle attributes on their own (the only particle attribute you cannot set is the particle ID).
This section describes the different ways in which you can get and set particle attributes.

For more information on ICE attributes in general and a list of all available ICE attributes, see ICE Attributes [ ICE Reference ].
Where Can You Find ICE Particle Attributes?
Particle attributes are everywhere—you just don’t always know that they’re there! Some are exposed in compounds, some you have to set up in nodes.
• Attributes are used inside many compounds. In the compound property editors, they are disguised as parameters that you can set. For example, when you set the Initial Values parameters in the Emit compounds, you are setting the Init_AttributeName attributes (see ICE Particle Emission Attributes).
• Attributes are used in the Get Particle AttributeName and Set Particle AttributeName compounds. These compounds make it easy to you to quickly use specific particle attributes. They are are simply the Get Data and Set Data nodes with a specific attribute already selected for you.
• All attributes are available via the Get Data and Set Data nodes, such as Get Neighboring Particles or Set Particle Age Limit. You can get any ICE attribute in this way, and you can set most ICE attributes in this way.
Getting ICE Particle Attributes
Getting attribute data from particles is something that you’ll probably need to do a lot when building ICE trees. For example, you may need to get the emit location data for particles, or you may need to get the size data for particles.
You can get attributes for the particle in a point cloud. Some of these particle attributes are exposed in special Get Particle compounds to give you a headstart, but you can also get a simple Get Data node and expose any attribute in it that you need.
For more information on getting and setting data in general, see Getting and Setting Data in ICE Trees.
To get a particle attribute
1. Add a Get Data node to your particle ICE tree in any of these ways:
- Drag a specific Get Particle AttributeName compound into the tree from the Getters group on the Task > Particles tab of the preset manager. These compounds use the Self. string as a reference plus the appropriate attribute name.
For example, if you want to use the Age attribute, choose the Get Particle Age compound.

or
- Drag a Get Data node into the tree from the Data Access group on the Tool tab of the preset manager. The new node’s reference is initially blank, so you must enter the name of the object in the Reference text box.
You can also simply use the Self. string to get the attribute from any object’s tree into which you plug the Get Data node.

or
- Drag an object’s name from an explorer into the tree. Make sure to drag the element’s name, not its icon. An easy way to do this is to select the object and press F3 so that a floating explorer opens, then drag the object’s name from there into the ICE Tree.
The Get Data node is pre-filled with the object’s reference.
2. If you’re using a blank or object Get Data node, specify an attribute in the Get Data property editor in either of these ways:
- If you know the attribute’s name, enter it in the Reference text box, after the reference object’s name and a period. For example, to use the AgeLimit attribute on the point cloud called PointCloud2, you would enter PointCloud2.AgeLimit.

or
- Click the Explorer button in the Get Data property editor and then select the attribute you want from the object’s list.
3. Plug the Get Data node’s output into an appropriate port of any node or compound that accepts the type of output the Get Data node has.
Setting ICE Particle Attributes
Setting attribute data for particles is something that you’ll probably need to do a lot when creating ICE particle effects. In fact, you’ve probably already done it when you have set parameters in several compounds.
You can set attributes for the particles in a point cloud. Some of these particle attributes are exposed in special Set Particle compounds to give you a headstart, but you can also get a simple Set Data node and expose any attribute in it that you need.
For more information on getting and setting data in general, see Getting and Setting Data in ICE Trees.
![]()
|
For information on setting attributes for spawned particles, see Setting and Adding Attributes for Spawned Particles. |
To set a particle attribute
1. Add a Set Data node to your ICE tree in either of these ways:
- Drag a specific Set Particle AttributeName compound into the tree from the Setters group on the Task > Particles tab. These compounds use the Self. string as a reference plus the appropriate attribute name.
For example, if you want to set the Size attribute, choose the Set Particle Size compound.

or
- Drag a Set Data node into the tree from the Data Access group of the Tool tab of the preset manager. The new node’s reference is initially blank.
2. If you’re using a blank Set Data node, specify an attribute in the Set Data property editor in either of these ways:
- If you know the attribute’s name, enter it in the Reference text box, after the reference object’s name and a period. For example, to set the Color attribute on the object called PointCloud, you would enter PointCloud.Color.
You can also simply use the Self string to have the attribute available for any object’s tree into which you plug the Set Data node.
or

- Click the Explorer button in the Set Data property editor and then select the attribute from the object’s list.

3. Plug the Set Data node’s 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 its value at every frame.

Using ICE Particle Attributes In the Render Tree
The ICE attribute shaders allow you to access a particle’s ICE attributes that are driven by ICE trees. You can also apply the Attribute shaders to geometry that is used as shape instances on ICE particles.
These shaders allow you to control your shading based on calculations done by an ICE tree, thus creating a link between data in the ICE tree and data in the render tree. For example, you can make smoke dissipate or a color change with a gradient depending on the velocity of the particle.
To use the attribute shaders, you must make sure that the particles first have the appropriate attribute created for it in the ICE tree.
For more information, see Bringing ICE Data into the Render Tree with Attribute Shaders.
Autodesk Softimage v.7.5