Rotation operator

The Rotation operator allows you to control particle orientations.


Rotation Rollout

Orientation

  • Orientation type: the starting orientation value, prior to any further modifications.

Inherit previous: uses the current value of a particle’s orientation as the start value.

Random 3D: uses a random orientation as the start value.

Random horizontal: uses a random orientation around the world’s Z-Axis as the start value.

World space: uses a world-aligned orientation as the start value.

Travel direction: uses an orientation aligned to the particle’s velocity as the start value.

Custom vector direction: uses an orientation aligned to a custom data channel as the start value.

Surface align: uses an orientation aligned to the closest point on a scene object’s surface mesh as the start value.

Parent align: uses an orientation aligned to the parent of each particle, if the particle has a parent.

Sibling align: uses an orientation aligned to the adjacent sibling of each particle, if such a sibling exists.

Look-at: uses an orientation directed towards the closest point on an input object as the start value.

Align to neighbors: uses an orientation directed towards the particle’s neighbors as the start value.

Closest edge on shape: the orientation will be derived from the vector defined by the closest edge on the particle shape to the particle location.

Shape-oriented bounds: the orientation will be derived from the oriented bounding box of the particle shape mesh. The longest axis of the bounding box will be the up vector of the rotation matrix, and the second longest axis will be the forward vector.

  • Affect particle shape orientation: controls whether a particle’s shape mesh orientation will be affected by the particle’s orientation change.

Disabling this setting has the effect of orientating the particle’s transform without changing the orientation of the particle’s mesh. In other words, it’s akin to rotating the particle’s pivot.

Disabling “affect particle shape orientation” can have a big impact on memory usage and performance, because each particle’s mesh will have to be manually adjusted in order to compensate for the particle’s orientation change.

  • X/Y/Z: controls the amount of offset applied to starting orientations, along each axis.

  • Divergence: controls the degrees of random divergence to apply to starting orientations.

  • Restrict diverg. to axis: restricts the amount of divergence applied to each axis.

Interpolation

  • Value: the amount to interpolate particle orientations from their previous value to the new value.

  • Variation %: the per-particle percentage of variation to apply.
  • Full interpolation on entry: when a particle’s event age is zero, its interpolation value will be temporarily set to 1.0.

In order to animate particles rotating towards a particular target orientation, set the operator’s timing to “continuous” and set the interpolation value to something less than 1. Smaller interpolation values will result in slower interpolation speeds.

Uniqueness

  • Seed: the seed value for all varied parameters.
Divergence Axis:
  • X/Y/Z: the amount of divergence to apply to each axis.

Banking Rollout

These settings apply banking when rotation type is set to travel direction

Banking

  • Multiplier: the amount of banking to apply to starting orientations, around the particle’s travel direction.

  • Smooth: the amount of temporal smoothing to apply to banking values, based on changes to the particle’s travel direction over time.

Custom Data Channel Rollout

These settings pertain to rotation types which rely on the input of a custom data channel.

Vector/Target

  • Channel: the channel to derive the custom vector direction from.

Matrix Rollout

These settings control how secondary vectors of the orientation matrix will be derived (the up vector is the main alignment vector, and the right vector is derived from the cross product between the up and forward vectors).

Forward Vector:

  • Auto: the forward vector of the surface alignment transforms will be automatically computed based on the orientation of the up vector.

  • From surface: the forward vector of surface alignment transforms will be derived from the surface itself.

  • From velocity: the forward vector of surface alignment transforms will be derived from each particle’s velocity direction.

  • From particle: the forward vector of surface alignment transforms will be derived from each particle’s transform forward vector.

  • From world: the forward vector of surface alignment transforms will be defined in world space.

  • X/Y/Z: allows users to define world-space forward vectors, when “from world” is enabled.

  • Nearest edge: when forward vector is derived from surface, the forward vector will be set to the nearest edge on the nearest face to the particle position, rather than the first edge.

  • Orthogonal: controls whether surface alignment orientations will be made orthogonal to the up vector.

Up Vector:

  • Vertex normal: controls whether the up vector of surface alignment transforms will be derived from the nearest vertex normal.

  • Face normal: controls whether the up vector of surface alignment transforms will be derived from the nearest face normal.

Neighbors Rollout

These settings control neighbor searches in neighbor align mode.

  • Radius: The particle neighbor search radius. Nearby particles within this radius will be considered neighbors.

  • Simulation groups: controls which particle simulation groups nearby particles must match in order to be considered neighbors.

Objects Rollout

These settings control which objects will be sampled for various rotation types, and the proximity of their influence.

Objects

  • Object list: the list of input objects used for surface alignment or facing mode.

Sample

  • Sample: controls which sampler will be used for surface alignment.

Proximity influence

The proximity influence extends outwards from nearby objects

  • Distance: particles within this distance will be fully affected.

  • Falloff: the effect on particles beyond the base distance, but within this falloff distance, will diminish according to the inverse-square law.