particleShape node
 
 
 

All but one of the following options display a menu that lets you choose a custom or static attribute as input. It is most common to use an expression to set the value of a custom attribute being used as input to the options. The options themselves are not attributes.

Not all static attributes in the menus have a practical application. For instance, using worldVelocity as the input to the object’s Rotation might not have a useful effect. The validity of each input attribute depends on the context.

Except for the first three of the following options, you can set the input attributes with per particle attribute values. You therefore can set values differently for each particle.

General Control Attributes

Is Dynamic

A value of true toggles dynamics on for the object. A value of false toggles dynamics off for the object.

Dynamics Weight

A value of 0 causes fields, collisions, springs, and goals connected to the particle object to have no effect. A value of 1 provides the full effect. A value less than 1 sets a proportional effect. For example, 0.6 scales the effect to 60% of full strength.

Expressions are unaffected by Dynamics Weight.

Conserve

The Conserve value controls how much of a particle object’s velocity is retained from frame to frame. Specifically, Conserve scales a particle’s velocity attribute at the beginning of each frame’s execution. After scaling the velocity, Maya applies any applicable dynamics to the particles to create the final positioning at the end of the frame.

Conserve doesn’t affect motion created by keyframes. Keyframes affect only a particle object’s worldVelocity attribute, not its local velocity attribute.

If you set Conserve to 0, none of the velocity attribute value is retained. The velocity is reset to 0 before each frame. At the end of each frame, the velocity is entirely the result of dynamics applied during that frame.

If you set Conserve to 1, the entire velocity attribute value is retained. This is the real-world physical response.

If you set Conserve to a value between 0 and 1, a percentage of the velocity attribute value is retained. For example, if you set Conserve to 0.75, each frame Maya first reduces the velocity attribute 25%, then it calculates any dynamic or expression effects on the object.

For example, suppose you create a particle falling with the acceleration of gravity, 9.8 units per second per second. The following table compares how Conserve values of 1 (default), 0.5, and 0 affect the velocity attribute after several frames execute.

Frame Velocity with Conserve = 1 Velocity with Conserve = 0.5 Velocity with Conserve = 0

2

<<0,0,0>>

<<0,0,0>>

<<0,0,0>>

3

<<0,-0.41,0>>

<<0,-0.41,0>>

<<0,-0.41,0>>

4

<<0,-0.82,0>>

<<0,-0.61,0>>

<<0,-0.41,0>>

5

<<0,-1.23,0>>

<<0,-0.71,0>>

<<0,-0.41,0>>

6

<<0,-1.63,0>>

<<0,-0.77,0>>

<<0,-0.41,0>>

With Conserve set to 1, velocity increases each frame at the exact acceleration rate of gravity.

With Conserve set to 0, velocity stays a constant value—the particles do not accelerate. At the beginning of each frame, velocity is reset to 0. The gravity field’s acceleration is then added to the velocity of 0, which results in the same number <<0,-0.41,0>> being used at the end of each frame.

With Conserve set to 0.5, velocity increases each frame at a much slower rate than gravity. At the beginning of each frame, velocity is scaled to 50% of the value it had at the end of the prior frame. The acceleration of gravity is then added to this scaled value to create the slowly increasing velocity used at the end of the frame.

Forces In World

If you prefer that a field affect a particle object in its local space, select the particles, display the Attribute Editor, and turn off Forces In World.

Note that the orientation of the local axes of a particle object matches the orientation of the world space axes unless you rotate the object.

TipIf you have not keyed, parented, or otherwise controlled the transform attributes of a particle object, you can turn off Forces In World to speed up dynamic calculations for the object. When Forces In World is on, Maya does extra computations to convert world space to local space coordinates.

See Apply forces in an object’s local space.

Cache Data

You can alternatively turn memory caching on or off in the Attribute Editor by turning off the Cache Data attribute. The location of the attribute in the Attribute Editor depends on the type of object. If you turn caching on for a rigid body, Maya also turns caching on for all rigid bodies in that rigid body’s solver.

If you cache data in memory for emitted particles and later change the rate or another attribute of the emitter or emitted particles, you must disable the cache to see the effect of the attribute change.

Count

Contains the total number of particles in the object. This is a read-only attribute.

Total Event Count

Contains the total number of collisions which have occurred for this object. All collisions are counted regardless of whether any collision events were actually executed. In other words, totalEventCount is the sum of the per-particle “event” attribute.

Emission Attributes

Max Count

Contains the maximum count of particles this shape will allow. If some particles die off, new particles will again be accepted up to the max count, and so on.

Level Of Detail

This attribute is currently only used to scale the amount of emission to be used for quick motion tests without having to change emitter values. This attribute affects only emitted particles.

Inherit Factor

Contains the fraction of emitter velocity that particles emitted into this object inherit.

Emission In World

This boolean attribute tells the particle object to assume that particles created from emission are in world space, and to transform them into object space before adding them to the particle array. This makes the particles respond as if they were in the same space as the emitter when they are in some non-identity hierarchy.

Die on Emission Volume Exit

When this boolean attribute is set to true, if the particles were emitted from a volume, they die when they exit that volume. By default, this attribute is set to false.

Lifespan Attributes

Lifespan Mode

Select from the following option:

Live forever

All particles live forever, unless killed by collision events or emission volume exit.

Constant

This setting allows you to input a constant lifespan for the particles. The particles will die at the specified time.

Random range

This attribute must be set to enable Lifespan Random (see below).

lifespanPP only

Pre-Maya 3.0 expressions that refer to lifespanPP work correctly as long as you select lifespanPP only as the lifespan mode.

Lifespan

This setting allows you to input a lifespan for the particles.

Lifespan Random

This attribute is used only if lifespanMode is set to “Random Range”.

The attribute identifies a range of random variation for the lifespan of each particle. If set to a non-zero value, each particle’s lifespan varies randomly up to plus or minus lifespanRandom/2, with the “lifespan” attribute as the mean (the average lifespan). For example, lifespan 5 and lifespanRandom 2 will make the lifespans vary between 4 and 6.

In Constant or Random Range Mode, the finalLifespanPP attribute stores the values generated from lifespan and lifespanRandom.

NoteChanges in the values of lifespan and lifespanRandom affect only new particles, not particles that already exist. For example, if you key the value of lifespan to be 2 up until frame 50 and 5 thereafter, then particles generated from frame 1 to 50 will have finalLifespanPP 2 and particles generated after frame 50 will have finalLifespanPP 5. The finalLifespanPP values of particles born prior to frame 50 will not change.
General Seed

This attribute represents the seed for random number generation. It is independent of all other random number streams.

Time Attributes

Start Frame

This attribute represents the frame after which dynamics will be solved. No dynamics will play back for this object prior to startFrame.

Current Time

This attribute represents the current time in the timeline.

Collision Attributes

Trace Depth

This attribute represents the maximum number of consecutive collisions that are detected within a frame for each particle. Particles may collide fewer times, of course.

Collision Object

The object the particles are colliding with, determined when the collision was set up.

Resilience, Friction
Offset

Lets you offset the position of the current particle when it collides with the surface specified in the Collision Object field. Offset also prevents the current particle from penetrating the surface of the specified collision object. For example, with Offset, you can control the size of your particle collision offset when going from a macro-level shot to a micro-level shot of your particle’s collisions in a single take. Offset is 0.01 by default. See also particle in the Node and Attributes Reference.

This attribute is only available when the current particle has a collision object.

UV set

(Available when multiple UV sets are available.)

Use this drop-down list to specify which UV set is used to compute goal point positions from a particle’s collision U/V attribute values. By default, the collision object's current UV set is used. This setting persists.

The ability to explicitly specify which UV set is used for collisionU/V values is useful to lock down the UV set that will be used. When texture artists work on an object and introduce multiple UV sets, they will frequently change back and forth between sets, and leave the object's “current” UV set attribute set to different values.

Soft Body Attributes

For more information, see Soft bodies.

Input Geo Space

This attribute lets you choose which coordinate space Maya uses to position point data provided by the input geometry to the particle shape. The original geometry is the geometry being converted to a soft body. The input geometry refers to the node in Maya that creates the original geometry. An example of input geometry for a NURBS sphere is the Make Sphere node:

Geometry Local

Provides the point positioning data from the input geometry’s local space. No world space transformation is applied to the positions.

World

Provides the point positioning data from the input geometry’s world space. The world space transformation is applied to the positions.

Particle Local

Provides the point positioning data from the particle object’s local space. The point positioning data from the geometry are transformed into world space as above, then into the particle object’s local space using the inverse of the particle object’s world space transformation. This puts the points in the same space as the particle object’s position attribute.

Target Geo Space

This attribute lets you choose the coordinate space Maya uses to position point data provided by the particle shape to the target geometry.

Geometry Local

Takes positions from the particle object’s position attribute and transforms them into the target geometry’s local space. It uses both the particle object’s world space transformation and the target geometry’s inverse world space transformation before setting them into the target geometry. Wherever the particle object or target geometry is transformed in the scene, the points in the target geometry will have the same world space positions as the particles.

World

Takes positions from the particle object’s position attribute and transforms them into world space. It uses the inverse of the particle object’s world space transformation before setting them into the target geometry.

Particle Local

Sets position attribute values directly in the target geometry without transforming them in any coordinate space.

Enforce Count From History

If this attribute is turned on and you change the original geometry’s construction history in a way that alters the number of CVs, vertices, or lattice points, Maya updates the corresponding number of particles of the soft body.

For example, if you add spans or sections to a NURBS surface soft body, Maya adds CVs to the surface and corresponding particles to the soft body. The updating of particles ensures the soft body deforms correctly according to the new points added or removed.

In some instances, you won’t want this updating to occur. For instance, if you connect a soft body’s particles to an emitter, you can emit the soft body into view.

Goal Weights and Objects

Goal Smoothness

This value is used to control the “smoothness” of the change in the goal forces as the weight changes from 0.0 to 1.0. This is purely an aesthetic effect, with no scientific basis. The higher the number, the smoother the change.

Goal weight

This field shows the name of the object. Use the slider beside it to set the goal weight for the object.

If you change any of the per-particle settings, this goal weight will no longer apply.

Goal Active

Makes the goal active. You must first create a goal object ( Particles > Goal) to see this and the rest of the goal weight attributes.

When the particle system is being attracted to goal objects, these attributes are filled with data about the specific point on each goal object to which each particle is being attracted. You can view this information in the Particles tab of the Component Editor.

For the remaining attributes in this section, click the Create button to create them. The button changes to Delete. Then click Delete to delete.

goalWeightNPP

Provides per-particle goal weights for the Nth goal object. Goal objects are numbered according to their indices in the particle system's sparse goalGeometry array. This ensures that per-particle goal weights will be preserved while goal objects are being added to and removed from the particle system.

If no per-particle goal weight is found for a particular goal object, then the standard goal weight value for that object (specified by the slider next to the object's name in the particle Attribute Editor) is applied to all particles. The dynamically generated goalPP attribute then acts as a weighting factor for the sum of all goal forces acting on each particle.

goalWorldPositionNPP

The world space coordinates of the points on the Nth goal object towards which each particle is being attracted.

goalWorldNormalNPP

The world space normals of the points on the Nth goal object towards which each particle is being attracted.

goalWorldTangentUNPP, goalWorldTangentVNPP

The U and V tangents of the points on the Nth goal object towards which each particle is being attracted. The tangent directions correspond to the directions of greatest increase of the U and V texture coordinates at the goal points.

Instancer (Geometry Replacement)

Instancer Nodes

Selects which instancer is used for the instanced objects. Available in Attribute Editor only.

Allow All Data Types

When on, this expands the list of attributes you can choose as input to the options in the following pages. The expanded list includes attributes whose data type differs from the option’s data type.

If the data type of an input attribute differs from the receiving option, Maya converts the data type to the receiving option’s data type. (See Expressions for details on data types.) For example, if you select an integer attribute as input to a vector array option, Maya uses the integer value in each of the three vector components for each element of the array.

When Allow All Data Types is off, only attributes whose data type is the same as the receiving option’s are included as possible selections.

Particle Object To Instance

The particle object to which the geometry is applied. This option is available in the Particle Instancer Options window only.

General Options

Position

Position of the instanced objects. The default setting is worldPosition. Maya interprets the values of the selected attribute in the local space of the Instancer node, not in world space. So if you move the Instancer node, you move the instances also.

If you are an API developer, note that you can write an API to send point data to the Instancer.

Scale

Scale of the instanced objects. The default setting is None, which use the value of 1, 1, 1.

Shear

Shear of the instanced objects. The default value setting is None, which use the value of 0, 0, 0.

Visibility

Sets whether display of each instanced object is on or off. The default setting is None, which turns on the display of instances of all particles.

ObjectIndex

If you set the Cycle option of the Instancer to None, this option sets which object from the Instanced Objects list is instanced for each particle. If you set Cycle to Sequence, ObjectIndex is ignored.

There are a few common techniques for using this option. In each case you select a custom attribute as input to ObjectIndex, then write expressions to control the attribute.

One technique is to use a creation expression to assign different values for each particle to the custom attribute. Each value selects a different object in the Instanced Objects list. The value 0 selects the first object in the list, 1 selects the second, 2 selects the third, and so on.

Another expression-writing technique is to assign specific numbers from the Instanced Objects list or use a random number function such as rand( ) to assign each particle a different random object from the list.

You can alternatively use a creation expression and runtime expression to increment a custom attribute through an unusual object sequence, for instance, 2-4-6-8.

The default setting is None, which sets the value to 0, the first object on the list.

Rotation Options

RotationType

For the instanced objects, you can choose one of three methods to set their orientation: Rotation, AimDirection, and AimPosition. Though typically you’ll select the same method for all instanced objects, you can select a different method for each object by using a per particle expression to set the RotationType attribute.

To set the RotationType attribute, use a value of 0 for Rotation, 1 for AimDirection, or 2 for AimPosition.

If you don’t provide a number, Maya uses whichever of the Rotation, AimDirection, and AimPosition options that has an attribute input selected. For instance, if you select an attribute input for AimPosition, Maya uses AimPosition as the default.

If you select an attribute input for two or three of the RotationTypes, Maya uses the first from this list: Rotation, AimDirection, and AimPosition. For instance, if you select an input to both AimPosition and AimDirection, Maya uses AimDirection. If you select an input to Rotation, AimPosition, and AimDirection, Maya uses Rotation.

If you select no attribute inputs to Rotation, AimPosition, and AimDirection, Maya uses Rotation.

Rotation

Sets the orientation of the instanced objects relative to their initial orientation. See RotationType for details. Also see Rotation Units and Rotation Order in the prior section.

AimDirection

Sets the orientation of the instanced objects by specifying the direction along which each instanced object points relative to the original position of its local origin. The default setting is None, which uses the value of 1, 0, 0. Also see RotationType.

Note that you can make an object point in the direction the particles are moving by selecting velocity. See Aim instanced geometry for more information.

AimPosition

Sets the orientation of the instanced objects by specifying the location where each instanced object points relative to the original position of its local origin. The default setting is None, which uses the value of 0, 0, 0. See RotationType for important details.

AimAxis

Specifies the object axis that points directly at the AimDirection or AimPosition.

AimAxis is a vector attribute that works only with AimDirection and AimPosition rotation types. The default setting is None, which uses the value of 1, 0, 0.

AimUpAxis

Specifies the object axis that points up (as much as possible) relative to how the AimAxis points at the AimDirection or AimPosition.

In this context, up is the direction the world up-axis points (see AimWorldUp). AimUpAxis is a vector attribute that works only with AimDirection and AimPosition rotation types. The default setting is None, which uses the value of 0, 1, 0.

For example, suppose the AimPosition is set to the origin of the workspace, and the world space Y-axis (0, 1, 0) is the AimWorldUp value. An instanced object’s X-axis (1, 0, 0) is the AimAxis value, and the object’s Y-axis (0, 1, 0) is the AimUpAxis value. As the instanced object moves from left to right in the workspace, the object has the following orientation:

The object’s X-axis points directly at the origin wherever the object moves in the workspace. The object is rolled around its X-axis as necessary to keep its Y-axis aiming up as much as possible. Up is defined by the AimWorldUp setting, which in this case is set to the world’s Y-axis.

AimWorldUp

Sets, in world coordinates, the axis that indicates the up direction used by the AimUpAxis. AimWorldUp is a vector attribute that works only with AimDirection and AimPosition rotation types. The default setting is None, which uses the value of 0, 1, 0. This attribute is unaffected by the setting for the World Coordinate System’s Up Axis found in the Window > Settings/Preferences > Preferences window, in the Settings section.

Cycle Options

CycleStartObject

If you set the Cycle option of the Instancer to Sequence, CycleStartObject specifies the cycle’s starting object from the Instanced Objects list. For example, suppose the list has four objects. If the attribute that provides input to CycleStartObject is set to 3 for each particle, each particle cycles through objects 3-0-1-2 repeatedly. The default value is 0.

Age

If you set the Cycle option of the Instancer to Sequence, Age works with the Instancer’s Cycle Step setting to set how often Maya changes from one object to another.

For example, you can create an attribute named myAge, select it as input to the Age option, then write a runtime expression to control myAge as follows:

if (particleId == 0)

myAge = age;

if (particleId == 1)

myAge = age * 2;

if (particleId == 2)

myAge = age * 4;

This causes the particle with particleId 1 to cycle through the objects twice as quickly as particleId 0. The particle with particleId 2 cycles four times as fast as particleId 0.

The default value is the particle age attribute setting.

Emission Random Stream Seeds

For details on working with this option, see Work with emission randomness.

Render Attributes

Depth Sort

This boolean attribute toggles depth sorting of particles for rendering on or off. By default, it is set to false (off).

Particle Render Type

This attribute specifies the rendering method for the particles.

  Rendered with software renderer Rendered with hardware renderer Rendered with mental ray renderer

MultiPoint

 

MultiStreak

 

Numeric

 

 

Points

 

Spheres

 

Sprites

 

Streak

 

Blobby Surface

   

Cloud

   

Tube

   
Add Attributes For

Click the Current Render Type button to display additional attributes for the particle type that you have chosen. See Add Attributes For Current Render Type button for more information.

Render Stats

Render Stats are accessible from any object’s Attribute Editor.

mental ray

See mental ray in the Rendering guide for more information.

Per Particle (Array) Attributes

Details on particle expressions can be found in the MEL and Expressions book.

Add Dynamic Attribute

Details on particle expressions can be found in the MEL and Expressions book and in the Tutorials.

Clip Effects Attributes

These attributes are present only when a clip effect (such as Fireworks) is being created or modified.

Sprite Attributes

For more information, see Sprite attributes.

Extra Attributes

For information on the ghosting attributes, see the Ghost Selected options window section of the Animation guide.