The Rotation operator allows you to control particle orientations.
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.
Object align: uses an orientation aligned to the transform of the closest scene object as the start value.
Spline align: uses an orientation aligned to the curve of the closest spline 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.
Align to binding neighbors: the orientation will be derived using a closest-fit approach to match the layout of the particle’s binding neighbors relative to their layout on the previous frame.
When doing a grain simulation, the Particle Bind Solver will adjust particle positions based on their bindings network, but will not adjust particle rotations at all. This is by design since the Particle Bind Solver is a simple mass-spring solver that does not take rotations into consideration. However, this means that while the overall structures of particles may rotate during the solve, individual particle orientations will not change. This can look strange in closeup. By enabling “Align to binding neighbors”, the Rotation operator will attempt to match the orientation of particles to the relative orientation of the cloud of particles they are bound to. This is a fairly effective way of keeping particle positions and orientations in sync when utilizing the Particle Bind Solver. Note: particles require at least 3 active bindings on current and prior frames in order for the alignment algorithm to activate on any given frame.
A particle must have at least 2 binding neighbors in order to be affected by the binding neighbors mode.
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.
Closest face on shape: the orientation will be derived from the vector defined by the closest face normal 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.
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.
Value: the amount to interpolate particle orientations from their previous value to the new value.
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.
These settings apply banking when rotation type is set to travel direction
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.
These settings pertain to rotation types which rely on the input of a custom data channel.
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).
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.
First edge/closest edge/closest vertex: when forward vector is derived from surface, these options control which nearest face element will be used to derive the vector.
Orthogonal: controls whether surface alignment orientations will be made orthogonal to the 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.
These settings control neighbor searches in neighbor align mode.
Radius: the particle neighbor search radius. Nearby particles within this radius will be considered neighbors.
Smooth interpolation: when enabled, particle rotations will interpolate smoothly to neighbor rotations, based on proximity.
Include all particles: particles will align to neighbors from any event.
Only include this event’s particles: particles will only align to neighbors in their same event.
Exclude this event’s particles: particles will only align to neighbors from other events.
Simulation groups: controls which particle simulation groups nearby particles must match in order to be considered neighbors.
These settings control binding neighbor alignment.
These settings control which objects will be sampled for various rotation types, and the proximity of their 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.