Rotation operator

The Rotation operator allows you to control particle orientations.


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.

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

Facing average: uses an orientation directed towards the average position of selected input objects as the start value.

Facing closest: uses an orientation directed towards the closest 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.

Divergence Axis:
  • X/Y/Z: the amount of divergence to apply to each axis.

Vector/Target

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

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.

Neighbors:

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

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.

  • 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.

Simulation Groups

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

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.

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.

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.