ICE Attribute Reference


Note:

This topic is no longer being maintained on the wiki. For the latest information, view the current Softimage help topic here: http://download.autodesk.com/global/docs/softimage2012/en_us/userguide/files/iceref_attributes_a.htm


Table of contents

Notes on ICE Attributes

In ICE, attributes are always associated with elements, either objects or one of their component types such as points, polygons, edges, and so on. For example, NbPoints and NbPolygons are attributes of objects, while PointPosition is an attribute of points and PolygonPosition is an attribute of polygons.

Some attributes are common to many different geometry types, for example, PointPosition. Other attributes are specific to particular object types, for example, PolygonPosition is available only on polygon meshes, PointU is available only on curves, ID is available only on point clouds, and so on. Some other attributes are available on specific elements of properties, for example, IsElement is available on clusters, Weights is available on weight maps, Colors is available on vertex color properties (CAVs), and so on.

Note that some attributes that are specific to point clouds appear in the explorers of the Get Data and Set Data property editors when dealing with other types of geometry. For example, BlobBlend appears to be available for polygon meshes, NURBS surfaces, curves, and even lattices. While it is possible to get and set these attributes on other geometry types, they have no effect except on point clouds.

Getting Data, Setting Data, and Context

You can get data by explicit string references or at locations.

  • When you get data by an explicit string reference, you get a set of values with one value for each component. For example, if you get "sphere.PointNormal", you get one 3D vector for each point of the sphere object; in other words, the context is per point of sphere.
  • When you get data at a location, the context depends on the context of the set of locations that is connected to the Source port of the Get Data node. For example, if you start by getting "grid.PointPosition", use that to get the closest location on sphere, and in turn use that to get PointNormal, the data consists of normals on the sphere but the context is per point of the grid. If instead you started by getting grid.PolygonPosition, the context would be per polygon of the grid.

You can set data using an explicit string reference only. You cannot set data at locations. To set an attribute, you must be in the appropriate context. For example, to set PointPosition, you must be in the per point of the appropriate object. Not all attributes can be set.

Inherent, Predefined, and Custom Attributes

Attributes can be inherent, predefined, or custom.

  • Inherent attributes represent data that is always available in the scene. For example, PointPosition represents the XYZ coordinates of the points of a geometric object. Some inherent attributes can be set, but others like PolygonArea are read-only.
  • Predefined attributes are recognized and used by certain basic nodes. However, unlike inherent attributes they are dynamic, meaning that they do not exist until they are set. For example, PointVelocity is used by the Simulation nodes to update PointPosition, but the PointVelocity attribute does not exist in the scene if has not been set by something in an ICE tree. The factory compounds in the Emitters task typically set the initial velocity, and in addition the Simulation nodes set the current velocity based on Force and Mass. If you get a dynamic attribute before it has been set, you get the default values: these are zero for most data types, false for Booleans, identity for matrices, black for color, etc. However, the Simulation nodes may use different default values when calculating motion. All predefined nodes can be set, except for ID which is read-only.
  • Custom attributes are also dynamic and can always be set. For example, AgeLimit is a custom attribute that is set by some of the Emitter compounds and used by Modulate Value by Age Percentage and Delete Particle at Age Limit, among others. In addition, you can set your own custom attributes and use them for any purpose. Some custom attributes may appear to be per object until you drive them using a per point attribute, such as by randomizing them based on particle ID, after which they become per point attributes.

How Data Is Interpolated at Locations

When you get data at locations:

  • Attributes that belong to points, edges, and samples are interpolated from the surrounding components. The exceptions are certain NURBS-related attributes such as PointBinormal that are calculated directly at locations on NURBS surfaces and curves.
  • Attributes that belong to polygons and objects are not interpolated. The values returned are always those of the underlying polygon or object.
  • When integers and Booleans get interpolated, they get rounded to the nearest value.

Reference Frames

When you use an explicit string reference to get transformation-dependent attributes such as positions, vectors, rotations, and so on, the raw, untransformed values are returned. These are typically expressed relative to the local space of the object that owns the components. For example, if you get "grid.PointPosition", the values are relative to the grid's local reference frame.

When you get data at a location, the following attributes are automatically converted to the reference frame of the "self" object (that is, the object with the ICE tree):

  • PointPosition
  • PointNormal
  • PointTangent
  • PointBinormal
  • SurfaceGeometricNormal
  • PointReferenceFrame
  • EdgeReferenceFrame
  • PolygonRefFrame

Other attributes are unconverted when you get them at a location.

Table of ICE Attributes


Attribute Description Data Type Belongs to Geometry Types Predefined, Inherent, or Custom R/W or RO
Age Time in seconds since a particle was emitted.

The Emitter compounds typically set this attribute to a fraction of a frame to simulate a continuous emission.

scalar points point cloud predefined read/write
AgeLimit The maximum age of a particle in seconds.

This attribute is automatically set by some of the Emitter compounds.

This attribute must be set to use compounds that set values based on age percentage, such as Modulate value by Age Percentage.

Particles are not deleted automatically when they reach AgeLimit. There must be nodes in a tree to specifically delete the particles, such as Delete particle at Age Limit.

scalar points point cloud custom read/write
AngularVelocity The angular velocity of a point.

The Simulate Rigid Bodies node uses this attribute to update Orientation, and sets it based on collisions.

rotation points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
Area Area of a polygon mesh object in Softimage units squared. scalar objects polygon mesh inherent read-only
BlobBlend Determines the amount of blending between particles. A high value creates more blending between the particles, but takes longer to render because more surface area is drawn. To see particles displayed as blobs, you must draw a render region. scalar points point cloud predefined read/write
CollisionLocation Available to store the location of a collision.

This attribute is used by some of the factory compounds.

location points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
CollisionScale The scaling of a point's size in the XYZ axes used by the Simulate Rigid Bodies node for determining collisions.

The final size of a particle for collisions is the product of CollisionSize and CollisionScale. If CollisionSize is not defined, then Size is used, and if neither CollisionSize nor Size is defined then 0.001 is used. If CollisionScale is not defined, then Scale is used, and if neither is defined then (1, 1, 1) is used.

For example, setting this value allows you to use a slightly larger size for collisions than for rendering and display, reducing interpenetration. You can also scale by different values in different axes for oblong collision shapes that cannot be defined by Size or CollisionSize alone.

3D vector points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
CollisionShape The shape used by the Simulate Rigid Bodies node for determining collisions.

If this attribute is not defined, Shape is used instead. Setting this value allows you to use a simpler shape for collisions than for rendering and display, reducing the amount of computation required.

Only Box and Sphere are valid values:

  • Disc and Rectangle are approximated by Box.
  • Cone, Cylinder, Segment, Capsule, and Blob are approximated by Sphere.
  • Point is approximated by a very small Sphere.
  • Instances are approximated by their bounding box.
shape points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
CollisionSize The base radius of a shape used by the Simulate Rigid Bodies node for determining collisions. You can further modify the size used for collisions using CollisionScale, which allows you to scale by different values in each of the three axes.

The final size of a particle for collisions is the product of CollisionSize and CollisionScale. If CollisionSize is not defined, then Size is used, and if neither CollisionSize nor Size is defined then 0.001 is used. If CollisionScale is not defined, then Scale is used, and if neither is defined then (1, 1, 1) is used.

Setting CollisionSize allows you to use a slightly larger size for collisions than for rendering and display, reducing interpenetration.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
Color The color of particles in the viewport.

By default, the color is not used for rendering unless you are using a shader that is especially written to use this attribute. Otherwise, you can get the Color attribute in a render tree using a Color Attribute shader.

This attribute is available to be defined on points of objects other than point clouds, but it isn't used in those cases.

color points point cloud predefined read/write
Colors The color value of a vertex color property. color samples vertex colors inherent read/write
CurveLength The length of a curve in Softimage units. scalar objects NURBS curve inherent read-only
DragCoefficient The factor by which points are affected by drag.

This value is used by the Wind, Fan, and Eddy force objects in conjunction with the Size to determine the drag force.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
DynamicFriction The coefficient of dynamic friction. This attribute is used by the Simulate Rigid Bodies node to calculate particle motion.

When two bodies collide or slide against each other, dynamic friction creates a decelerating force. The force is in the opposite direction to motion along the plane of contact. It is proportional to the product of the coefficient and the component of force that is pushing the bodies together (e.g., the weight of an object on a sloping surface).

When two bodies interact, the coefficient of dynamic friction for their interaction is the product of their respective DynamicFriction values.

If this attribute is not defined, the default value used by the Simulate Rigid Bodies node is 0.5.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
EdgeCrease The edge crease value for subdivision surfaces. Edges marked as hard have an edge crease value of 10. scalar edges polygon mesh inherent read/write
EdgeIsHard Whether an edge has been marked as hard. Boolean edges polygon mesh inherent read/write
EdgeLength The length of an edge in Softimage units.

If you get this value at a surface location, the value is interpolated from the nearby edges and so doesn't necessarily correspond to the actual length of any edge on the object.

scalar edges polygon mesh inherent read-only
EdgeNormal The surface normal at the midpoints of edges. 3D vector edges polygon mesh inherent read-only
EdgePosition The positions of the edge midpoints. 3D vector edges polygon mesh inherent read-only
EdgeReferenceFrame A 3x3 matrix representing the orientation of an edge. The rows of the matrix represent the XYZ axes. These are equivalent to the axes displayed on manipulators when you transform a component in Local mode.

You could use this, for example, if you wanted to place particles at specific offsets from a polygon mesh's edges.

3x3 matrix edges polygon mesh inherent read-only
Elasticity Controls the ratio of velocities after a collision (coefficient of restitution). This attribute is used by the Simulate Rigid Bodies node to calculate particle motion.

When two bodies collide, the elasticity of the interaction is the product of the elasticities of the two bodies.

In a head-on collision at a value of 1.0, the velocities stay the same as before the collision but with opposite directions. At a value of 0.0, colliding particles stick to each other and share the same velocity after the collision. Values above 1 mean that that particles increase their energy each time they collide.

If this attribute is undefined, the default value used by the Simulate Rigid Bodies node is 0.5.

Note that energy and momentum cannot be transferred to an obstacle object; they can only be transferred between two colliding particles.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
EmitLocation The location on a surface at which a particle was emitted.

When emitting from a volume, the location is an offset from the object center and is not affected by deformation.

This attribute has no meaning when emitting from nulls or explicitly defined numeric positions such as (1.0, 2.0, 3.0).

location points point cloud predefined read/write
EmitPosition The position at which a particle was originally emitted.

This attribute is set automatically by the Emitter compounds. Unlike EmitLocation, it does not move with an animated or deformed geometry.

3D vector points point cloud custom read/write
Force The force applied to a point. This value, together with the point's mass, is used by the Simulate Particles and Simulate Rigid Bodies nodes to calculate the acceleration and update the velocity.

Note that this attribute is set to 0.0 at the end of every frame.

3D vector points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
GoalLocation Available to store a location on a surface towards which you want a point to move.

This attribute is used by some of the factory compounds.

This attribute is not considered by the Simulate Particles node. There must be other nodes in a graph to set the Force or PointVelocity to get a point moving toward its goal.

location points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
GoalPosition A position towards which you want a point to move.

This attribute is used by some of the Goal compound as an alternative to GoalLocation. Unlike GoalLocation, , it does not move with an animated or deformed geometry (although it might appear that way if it gets reset every frame).

3D vector points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

custom read/write
ID A unique identifier for each point in a point cloud. If you delete and add points in a cloud, indices may get re-used but the IDs will not.

The ID is automatically set by the Add Point and Clone Point nodes, as well as by compounds that contain them. You cannot set this attribute manually.

Even though it appears as though this attribute is available for points on objects other than point clouds, it doesn't exist and cannot be set or initialized in those cases.

integer points point cloud predefined read-only
Init False if a point was created on the current frame, true otherwise. This attribute is automatically set by the Add Point and Clone Point nodes, as well as by compounds that contain them.

You can use this attribute to distinguish between new and old particles. For example, you can set data only on new particles even in compounds that don't have access to the On Execute ports of Add Point and Clone Point.

Boolean points point cloud predefined read/write
Init_Color A particle's original Color value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by Modify Particle Color or your own compounds.

color points point cloud custom read/write
Init_Force A particle's original Force value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by your own compounds.

3D vector points point cloud custom read/write
Init_Mass A particle's original Mass value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by your own compounds.

scalar points point cloud custom read/write
Init_Orientation A particle's original Orientation value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by your own compounds.

rotation points point cloud custom read/write
Init_PointVelocity A particle's original PointVelocity value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by Move Toward Goal, Modulate Velocity Over Time, or your own compounds.

3D vector points point cloud custom read/write
Init_Scale A particle's original Scale value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by your own compounds.

3D vector points point cloud custom read/write
Init_Size A particle's original Size value when it was emitted.

This attribute is set by the Emitter compounds, and can be used by Modulate Particle Size or your own compounds.

scalar points point cloud custom read/write
IntersectionLocation Used internally by certain compounds. location points point cloud custom read/write
IntersectionVelocity Used internally by certain compounds. location points point cloud custom read/write
IsElem True if a component is a member of the corresponding cluster, and false otherwise. Boolean components cluster predefined read-only
IsHomogeneous Indicates whether a texture projection uses homogeneous coordinates (true) or not. XSI automatically uses homogeneous coordinates for camera projections and stores the distance to the camera (q) in the W coordinate. Boolean objects texture UV coordinates inherent read-only
IsSpatial Indicates whether a texture projection is spatial (true) or not. In spatial coordinates, W stores the third axis, rather than the distance from the camera as in homogeneous coordinates. Boolean objects texture UV coordinates inherent read-only
isStuck Whether a particle is stuck (true) or not.

This attribute is used by the Stick to Location, Stick to Surface, and Unstick from Surface compounds. You can also get this attribute and use it to do other things with stuck and unstuck particles.

Boolean points point cloud custom read/write
LocalTime The time that has passed since the start of the simulation. Objects in different environments can have different LocalTime values. scalar objects any object with a Simulation region in the construction stack inherent read-only
Mass The mass of a point. Used by the Simulate Particles and Simulate Rigid Bodies nodes as well as several compounds to calculate the effect of forces.

If Mass is not defined, the Simulate Particles node uses a default of 1.0, so that forces have a one-to-one effect on velocity.

The Simulate Rigid Bodies node uses a default of 0.1 if Mass is undefined.

If Mass is defined but equal to 0.0, forces have no effect using either of the Simulation nodes.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
MaxWeight The maximum weight of a weight map. scalar objects weight map inherent read/write
MinWeight The minimum weight of a weight map. scalar objects weight map inherent read/write
NbEdges The total number of edges in a polygon mesh. integer objects polygon mesh inherent read-only
NbElem The total number of members in a cluster. integer objects cluster inherent read-only
NbPoints The total number of points on a geometric object. integer objects point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

inherent read-only
NbPolygonNodes The total number of polygon nodes (texture samples) on a polygon mesh. There is one polygon node for every corner of a polygon. Each vertex has as many polygon nodes as there are adjacent polygons. integer objects polygon mesh inherent read-only
NbPolygons The total number of polygons in a polygon mesh object. integer objects polygon mesh inherent read-only
NbSamplePoints The total number of texture sample points on a NURBS surface or curve. integer objects NURBS surface

NURBS curve

inherent read-only
NbSubCurves The total number of subcurves in a curve object. integer objects NURBS curve inherent read-only
NbSubSurfaces The total number of subsurfaces in an assembled NURBS surface mesh. integer objects NURBS surface inherent read-only
NodeLocation The locations of polygon nodes (also called polynodes or texture sample points) on a polygon mesh. This is useful for getting values of vertex color properties (CAVs). location samples polygon mesh inherent read-only
NodeNormal The normals at the polygon nodes (texture samples). These are the normals used for shading, and are the same as the normals that are displayed in a geometry view when you choose Normals from the Show menu (eye icon).

If you display NodeNormal in the 3D views, they may not appear to update properly when you modify the automatic discontinuity settings (in the Geometry Approximation property editor) unless you are in a shaded mode. You may also need to force an update to the ICE tree, for example, by disconnecting and then reconnecting relevant nodes.

3D vector samples polygon mesh inherent read-only
NodePosition The position of polygon nodes (texture samples). 3D vector samples polygon mesh inherent read-only
Normals The normals stored in a user normal property. 3D vector samples user normal property inherent read/write
Orientation Used to align particle shapes and sprites.

This attribute is updated automatically by the Simulate Rigid Bodies node based on AngularVelocity 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 StrandOrientation is used to align the shapes at the StrandPosition values. If StrandDeform is true, the reference frame for both Orientation and StrandOrientation is established by using the strand's tangent as the Y axis. PointUpVector and StrandUpVector define the X axis. If the up-vector attributes are not defined, the up-vector is calculated from the camera, which will make the deformations rotate if the camera moves.

rotation points point cloud predefined read/write
PointBinormal The binormals at locations along curve.

These values are calculated directly from the NURBS equations instead of being interpolated from surrounding points.

If you get this attribute by an explicit string reference, for example Get Data ("curve.PointBinormal"), the context is per point and the values represent the values of the NURBS hull (control polyline) at the control points (CVs) rather than values on the curve itself.

3D vector points NURBS curve inherent read-only
PointCrease The crease value at vertices on a polygon mesh. scalar points polygon mesh inherent read/write
PointLocation The location of vertices on a polygon mesh.

This is useful for getting values of weight maps.

location points polygon mesh predefined read-only
PointNeighbors An array containing the locations of the vertices that are connected to a vertex by edges.

If you get this attribute at a surface location, it returns the neighbors of the vertex closest to the location.

array of locations points polygon mesh inherent read-only
PointNormal The smoothed normal at locations on a geometry.

If you get this attribute at locations on a NURBS surface or curve, the values are calculated directly from the NURBS equations instead of being interpolated from surrounding points.

If you get this attribute on a NURBS surface or curve by an explicit string reference, for example Get Data ("curve.PointNormal"), the context is per point and the values represent the values of the NURBS hull (control polyline) at the control points (CVs) rather than values on the curve or surface itself.

3D vector points polygon mesh

NURBS surface

NURBS curve

inherent read-only
PointPosition The position of points. To deform a geometric object, you must set this attribute.

This attribute is updated automatically by the Simulate Particles and Simulate Rigid Bodies nodes based on PointVelocity.

You can also get this attribute at an arbitrary surface location to return the position of that location, even if it does not correspond to an actual geometric point.

3D vector points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

inherent read/write
PointReferenceFrame A 3x3 matrix representing the orientation of a point. The rows of the matrix represent the XYZ axes. These are equivalent to the axes displayed on manipulators when you transform a component in Local mode.

You could use this, for example, if you wanted to place particles at specific offsets from a polygon mesh's points.

3x3 matrix points polygon mesh

NURBS surface

NURBS curve

inherent read-only
PointTangent Tangent at locations along a curve.

If you get this attribute by an explicit string reference, for example Get Data ("curve.PointTangent"), the context is per point and the values represent the values of the NURBS hull (control polyline) at the control points (CVs) rather than values on the curve itself.

3D vector points NURBS curve inherent read-only
PointU The NURBS U parameter value along a curve.

If you get this attribute by an explicit string reference, for example Get Data ("curve.PointU"), the context is per point and the values represent the values of the NURBS hull (control polyline) at the control points (CVs) rather than values on the curve itself.

scalar points NURBS curve inherent read-only
PointUpVector Used to establish a reference frame for Orientation on the base particle when using strands and StrandDeform is true.

The strand tangent defines the Y axis and this attribute represents the X axis.

If this attribute is not defined, the up-vector is calculated from the camera view, which will make the deformations rotate if the camera moves.

3D vector points point cloud predefined read/write
PointUV The NURBS UV parameter values on a surface.

If you get this attribute by an explicit string reference, for example Get Data ("surface.PointUV"), the context is per point and the values represent the values of the NURBS hull at the control points (CVs) rather than values on the surface itself.

2D vector points NURBS surface inherent read-only
PointVelocity The velocity of points.

This attribute is automatically updated by the Simulate Particles and Simulate Rigid Bodies nodes based on Force and Mass.

3D vector points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
PolygonArea The area of a polygon in Softimage units squared. scalar polygons polygon mesh inherent read-only
PolygonNormal The normal of a polygon. This is the same normal that is displayed when you activate Polygon Normals in a 3D view's Show menu (eye icon). 3D vector polygons polygon mesh inherent read-only
PolygonPosition The position of the midpoint of a polygon. 3D vector polygons polygon mesh inherent read-only
PolygonRefFrame A 3x3 matrix representing the orientation of a polygon. The rows of the matrix represent the XYZ axes. These are equivalent to the axes displayed on manipulators when you transform a component in Local mode.

You could use this, for example, if you wanted to place particles at specific offsets from a polygon mesh's polygon.

3x3 matrix polygons polygon mesh inherent read-only
positions The position of points in a shape key. The meaning of the data depends on the shape reference mode. To find out the reference mode, get the shape key's Cluster Key Reference Mode (KeyType).
  • If the shape key is in Object reference mode (KeyType = 2), values are offsets from the undeformed point positions in the object's local coordinates.
  • If the shape key is in Local reference mode (KeyType = 1), values are offsets from the undeformed point positions, but are expressed relative to each point's own referential (PointReferenceFrame).
  • If the shape key is in Absolute reference mode (KeyType = 0), values are point positions (not offsets) in the object's local coordinates.
3D vector points shape key inherent read/write
Scale A scaling factor applied to particles' size. This lets you scale by different values in different axes to create oblong shapes.

This attribute is used for display and rendering, as well as by the Simulate Rigid Bodies node for determining collisions if CollisionScale is undefined.

If this attribute is not defined, the default is (1, 1, 1).

3D vector points point cloud predefined read/write
Shape The shape of particles.

This attribute is used for rendering and display.

It is also used by the Simulate Rigid Bodies node for determining collisions.

shape points point cloud predefined read/write
ShapeInstanceTime The "local" time of particle instances, in seconds. This is used to control shape animation and sprite sequences on individual instances.

If this attribute is defined, then the instances are implemented through assemblies when rendering with mental ray. There is a limitation in that these don't get called when generating lightmaps.

scalar points point cloud predefined read/write
SimulatedFrameFraction The fraction of a frame that has already been simulated for a point.

This value is used by the Simulate Particles node. It will simulate particles only for the remainder of the frame. When done, the Simulate Particles node sets this value to 1.0 to avoid having the particle simulated again by another Simulate Particles node later in the same tree or another tree.

The Emitter compounds automatically set SimulatedFrameFraction to (1 – Age/SimulationStep) so that on its first frame of existence, a particle moves only for a distance proportional to its age. As a result, it appears as if particles have been emitted continuously throughout the frame instead of all at once.

You can modify and set this attribute, for example, if you want to change states after a mid-frame event such as a collision or randomized timer, and then continue simulating in the second state for the rest of the frame. This helps to avoid issues with stratification and discretization that might occur if particles changed state all at the same time within a frame. Use values between 0.0 and 1.0 only.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
Size The radius of particle shapes.

This is used for display and rendering, as well as by the Simulate Rigid Bodies node for determining collisions if CollisionSize is undefined.

If both this attribute and CollisionSize are undefined, the default value used by the Simulate Rigid Bodies node is 0.001.

scalar points point cloud predefined read/write
SlideLocation Used internally by certain compounds. location points point cloud custom read/write
Spawned Whether a particle has been spawned (true) or not.

This attribute is set and used by the Spawning compounds to prevent spawned particles from spawning themselves. You can also use the Test Is Spawned Particle compound to use this attribute to do other things with spawned or unspawned particles.

Boolean points point cloud custom read/write
SplashCollisionForce Used internally by certain compounds. 3D vector points point cloud custom read/write
SplashIntersection Used internally by certain compounds. location points point cloud custom read/write
SpriteAngle Not used. scalar points point cloud predefined read/write
State_ID The current state of a particle.

This attribute is set and used by the State compounds. You can get and set this attribute manually, but it's probably easier and less error-prone to use the state system implemented by the factory compounds.

integer points point cloud custom read/write
State_transition_Time The time at which a particle last changed states, in seconds.

This attribute is set by the State compounds and used by the Get Time in State and Test Time in State compounds. You can also get this attribute and use it to do other things based on when a particle changed state,

scalar points point cloud custom read/write
StaticFriction The coefficient of static friction. This attribute is used by the Simulate Rigid Bodies node to calculate particle motion.

When two bodies are in contact and at rest, static friction creates a resistance force that must be overcome by other forces before the bodies start moving. The resistance is along the plane of contact and is proportional to the product of the coefficient and component of force that is pushing the bodies together (e.g., the weight of an object on a sloping surface).

When two bodies are in contact, the coefficient of static friction for their interaction is the product of their respective StaticFriction values.

If this attribute is not defined, the default value used by the Simulate Rigid Bodies node is 0.5.

scalar points point cloud

polygon mesh

NURBS surface

NURBS curve

lattice

predefined read/write
StickLocation The location that a particle sticks to.

This attribute is set by the Stick compounds when a particle initially sticks to a location.

location points point cloud custom read/write
StickOffsetMatrix The offset matrix of a particle from its StickLocation.

The Stick compound apply this matrix to set the particle's final position and orientation each frame.

4x4 matrix points point cloud custom read/write
StrandAge The age of a strand in seconds.

This attribute is set and updated by the Generate Strand Trails compound.

array of scalar points point cloud custom read/write
StrandCenter Set and used by the Strand compound to control strand deformations. array of 3D vector points point cloud custom read/write
StrandColor The color of shapes along a strand.

Although this attribute does not appear in the list of attributes displayed by the Explore button of Get Data and Set Data property editors, it is understood and used by certain shaders.

If the size of this array does not match StrandPosition, it is ignored.

array of colors points point cloud predefined read/write
StrandCount Set and used by the Strand compounds to keep track of the number of segments in a strand. integer points point cloud custom read/write
StrandDeform Whether shapes are lofted along the length of the strand (true) or placed individually at the discrete StrandPosition values (false).

Lofting is supported only for Box, Capsule, Cone, and Cylinder shapes.

Booleans points point cloud predefined read/write
StrandLength Set and used by the Strand compounds to keep track of the total length of strands. scalar points point cloud custom read/write
StrandOrientation Used to orient shapes along a strand.

If StrandDeform is false, the orientation is relative to the point cloud's local space. If StrandOrientation is not defined, the base particle's Orientation is used instead.

If StrandDeform is true, StrandOrientation provides an extra rotation that is applied on top of the orientation defined by the strand's tangent and StrandUpVector. The reference for StrandOrientation is established by using the strand's tangent as the Y axis and StrandUpVector as the X axis. If StrandUpVector is not defined, the up-vector is calculated from the camera, which will make the deformations rotate if the camera moves.

If the size of this array does not match StrandPosition, it is ignored.

array of rotations points point cloud predefined read/write
StrandPosition The positions of shapes along a strand. array of 3D vectors points point cloud predefined read/write
StrandSize The sizes of shapes along a strand.

If this attribute is not defined, the base particles' Size is used instead.

If the size of this array does not match StrandPosition, it is ignored.

array of scalars points point cloud predefined read/write
StrandUpVector Used to establish a reference frame for StrandOrientation if StrandDeform is true. The vector is expressed relative to the point cloud's local space.

The strand tangent defines the Y axis and this attribute represents the X axis in the point cloud's local coordinates.

If this attribute is not defined, the up-vector is calculated from the camera, which will make the deformations rotate if the camera moves.

If the size of this array does not match StrandPosition, it is ignored.

array of 3D vectors points point cloud predefined read/write
StrandVelocity Available for compounds to store the velocities of the shapes at the StrandPosition values.

This attribute is not updated by the Simulate Particles or Simulate Rigid Bodies nodes.

If this attribute exists, it is used for rendering motion blur. If this attribute is not defined, the base particle's PointVelocity is used instead.

If the size of this array does not match StrandPosition, it is ignored.

array of 3D vectors points point cloud predefined read/write
SurfaceGeometricNormal The normal of the underlying geometry at a location,.

This attribute is available at surface locations only. On polygon meshes, it is the normal of the tesselated triangle and is not interpolated. On NURBS surfaces and curves, it is the exact normal at that location.

3D vectors n/a polygon mesh

NURBS surface

NURBS curve

inherent read-only
Symmetry Indices The index of the corresponding point across the plane of symmetry. integer points symmetry map inherent read/write
UVs The UV coordinates of a texture projection at a location.

If you get this attribute on a spatial projection, the W value is dropped. If you set this attribute on a spatial projection, the W coordinate is set to 0.

If you get this attribute on a homogeneous (camera) projection, you get the raw, undivided UV values and the distance to the camera q is dropped. If you set this attribute on a homogeneous projection, q is set to 0 and stored in the W coordinate.

2D vector samples texture UV coordinates inherent read/write
UVs_NonHomogeneous The non-homogeneous equivalents of the texture UV coordinates at a location in a texture projection.

If you get this attribute on a spatial projection, the W value is dropped. If you get this value on a homogeneous (camera) projection, the values (U/q, V/q) are returned.

2D vector samples texture UV coordinates inherent read-only
UVWs The UVW coordinates of samples at a location in a texture projection.

If you get this value on a regular UV projection, the values of (U, V, 0.0) are returned. If you set this attribute on a regular UV projection, the W value is ignored.

If you get or set this value on a homogeneous (camera) projection, the values correspond to (U, V, q) where q is the distance to the camera.

3D vector samples texture UV coordinates inherent read/write
UVWs_NonHomogeneous The non-homogeneous equivalents of the stored texture UVW coordinates.

If you get this value on a regular UV projection, the values of (U, V, 0.0) are returned.

If you get this value on a homogeneous (camera) projection, the values of (U/q, V/q, 0) are returned where q is the distance to the camera.

3D vector samples texture UV coordinates inherent read-only
Volume The volume of polygon meshes in cubic Softimage units. scalar objects polygon mesh inherent read-only
VolumeCloud Used internally by certain shaders. Setting this attribute in the ICE tree has no effect. Boolean objects point cloud inherent read/write
Weights The values of a weight map. scalar points weight map inherent read/write

This page was last modified 19:50, 24 May 2011.
This page has been accessed 26946 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy