Positioner
Determines the current position of each particle every frame.
When a chain of blocks is connected to the Positioner, the chain is evaluated every frame and the result is used as the particle's rendering position.
Typically, the Positioner is connected to the output of a Position property block (possibly through a ForceMove or Move block chain), so the particle's visual position follows its simulated position.
If no blocks are connected, particles appear at the origin.
Input
- position: The 3D position to use for this particle.
Outputs
Besides placing the particle, the Positioner also derives how the particle is moving, by comparing its position with the position it had on the previous frame. These values are available as outputs and can be connected anywhere in the scheme:
- prev position (vector 3): the particle's position on the previous frame. On the particle's first frame it equals the current position.
- velocity (vector 3): the particle's velocity, in units per second. On the particle's first frame it is zero (the particle has not moved yet).
- speed (float): the length of the velocity — how fast the particle moves, in units per second, regardless of direction.
- direction (vector 3): the direction the particle is moving in, as a unit
vector. When the particle is standing still, the direction keeps its last
non-zero value instead of collapsing to zero, so anything oriented by it
stays stable. A particle that has never moved starts out facing
(1, 0, 0).
Because these outputs are measured from the actual change in position, they work no matter what moved the particle — a Move or ForceMove chain, a path, a noise field, or a position you compute yourself.
The distinction between velocity and direction matters when you orient something by movement. Use direction for orientation: it is always a unit vector and never degenerates when the particle stops. Use velocity when the magnitude itself is meaningful (for example, stretching a particle proportionally to how fast it travels).
Movement modes without their own velocity
In the Emitter Guide, the Movement setting normally supplies the particle's velocity — for example in Steady or Forces mode, where the velocity is an explicit part of the simulation.
In None mode, and in Manual mode when the offset is not driven by a single path, the movement has no velocity of its own. In that case the values derived by the Positioner are used instead, so features that depend on how a particle moves keep working:
- rotation modes that face or align a particle by its movement (By Velocity Faced, By Velocity Free),
- the Over Particle Speed value source,
- the Particle Velocity and Particle Direction value sources.
This happens automatically — there is nothing to enable. It means a particle moved by a plain position chain (or by a path, or by noise) can still be oriented along its motion, and can still drive values from its speed.