Skip to content

Vortex

Rotational vector field — tangential flow around a center, strength decays over a falloff curve. The "swirl / whirlpool / galaxy" primitive.

Category: Fields Menu path: Fields > Vortex

Ports

PortTypeDirectionDescription
scalarscalaroutputMagnitude at comp center (CPU value)
vec2vec2outputFlow vector at comp center (CPU value)
scalarFieldscalarFieldoutputMagnitude field — how fast the flow is at each sample
vectorFieldvectorFieldoutputTangential flow field — direction + magnitude at each sample (primary output)

Parameters

ParamTypeDefaultDescription
centervec2(0, 0)The eye of the swirl, in comp-space pixels
strengthscalar1.0Peak flow magnitude at the center. Animate to ramp the swirl up/down
radiusscalar200Distance at which the falloff curve's t = 1 value applies
directionenumCCWCCW (counter-clockwise) or CW (clockwise)
falloffcurveRamplinear 1→0 smoothMaps normalized distance (0 at center, 1 at radius) to a strength multiplier

Expose Channels

When enabled (E button on node header), adds input ports that override params via edge connections:

PortTypeOverrides
center_invec2center
strength_inscalarstrength
radius_inscalarradius

How It Works

At each sample point, Vortex computes the tangent to the circle that passes through the sample, centered at center. Magnitude is strength × falloff(clamp(distance / radius, 0, 1)). The default falloff curve (1 → 0 smooth) gives a soft vortex that's strongest at the center and dies off at the edge of the radius; a flat curve at 1.0 gives a uniform tangential flow across the radius.

direction just flips the sign of the tangent — CCW advances points counter-clockwise around the center, CW clockwise (screen-space, where +y is down).

At the exact center, the tangent direction is undefined so the vector is zero; the magnitude field peaks here.

Usage Examples

Basic: Particle swirl

Grid → PointAdvect ← Vortex.vectorField → DrawPoints → Output. Points spiral around the vortex center. Raise strength for faster flow, animate strength keyframes to ramp the swirl in/out.

Creative: Galaxy

Boost radius to cover the whole comp. Stack two Vortex nodes at different centers (one CW, one CCW) via FieldMath Add and feed into PointAdvect for an interacting binary system.

Creative: Customised falloff

Edit the falloff curve to control the flow profile: a bell-shaped curve (0 at center, 1 in the middle, 0 at edge) gives a ring of fast flow around a calm eye — hurricane shape.

Tips

  • Combine with PointAttributes target=Rotation source=Tangent in a chain after PointAdvect to orient cloned instances along the flow.
  • For "magnet + swirl" effects, add a Vortex's vectorField to a Radial Force field via FieldMath Add.
  • The scalar / vec2 CPU outputs sample at (0, 0) — useful for driving other node params with a representative value.
  • PointAdvect — consumes Vortex's vectorField to move points along the flow
  • Oscillate — waves instead of swirls; shares the spatial-field pattern
  • NoiseCurl mode gives turbulent rotational flow; Vortex is the clean closed-form version
  • FieldMath — combine multiple Vortex fields, or mix with other vector fields