nParticle Instancer attributes

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

Rotation Type

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 Rotation Types, Maya uses the first from this list: Rotation, AimDirection, and AimPosition. For instance, if you select an input to both Aim Position and Aim Direction, Maya uses Aim Direction. If you select an input to Rotation, Aim Position, and Aim Direction, Maya uses Rotation.

If you select no attribute inputs to Rotation, Aim Position, and Aim Direction, Maya uses Rotation.

Rotation

Sets the orientation of the instanced objects relative to their initial orientation.

For nParticles, you can rotate instanced geometry on a per-particle basis by selecting rotationPP as the Rotation option. The rotationPP attribute is created on the nParticleShape node when the Compute Rotation attribute is on.

For details about rotating instanced geometry on a per-particle basis, see Rotate instanced geometry.

Aim Direction

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.

Aim Position

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.

Aim Axis

Specifies the object axis that points directly at the Aim Direction or Aim Position.

Aim Axis is a vector attribute that works only with Aim Direction and Aim Position rotation types. The default setting is None, which uses the value of 1, 0, 0.

Aim Up Axis

Specifies the object axis that points up (as much as possible) relative to how the Aim Axis points at the Aim Direction or Aim Position.

In this context, up is the direction the world up-axis points (see Aim World Up). Aim Up Axis is a vector attribute that works only with Aim Direction and Aim Position rotation types. The default setting is None, which uses the value of 0, 1, 0.

For example, suppose the Aim Position is set to the origin of the workspace, and the world space Y-axis (0, 1, 0) is the Aim World Up value. An instanced object’s X-axis (1, 0, 0) is the Aim Axis value, and the object’s Y-axis (0, 1, 0) is the Aim Up Axis 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 Aim World Up 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 Aim Up Axis. Aim World Up is a vector attribute that works only with Aim Direction and Aim Position 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 Windows > Settings/Preferences > Preferences window, in the Settings section.

Cycle Options

Cycle Start Object

If you set the Cycle option of the Instancer to Sequence, Cycle Start Object 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 Cycle Start Object 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.