Skip to content

Fluid Simulation

The Fluid Displacement mode runs a GPU-accelerated Navier-Stokes fluid solver (Stable Fluids algorithm) on Metal compute kernels. Force generators inject velocity into a 3D volume; that velocity field is then applied to point cloud particle positions each frame.

← Point Cloud Displacement overview

  1. Add a 3D track with a Point Cloud object
  2. Open the Point Cloud Displacement card in the inspector
  3. Click the FLUID DISPLACEMENT toggle to enable it

The solver starts immediately with no forces — particles remain still until you add at least one force generator.

ParameterDescription
ResolutionSimulation grid size: 128 / 256 / 512 / 1024
DepthZ-axis grid layers: 4 / 8 / 16 / 32 / 64 / 128 / 256
StrengthHow strongly the fluid velocity displaces particle positions
FadeHow quickly fluid velocity dissipates each frame — lower = instant fade, higher = long-lived trails
CurlAdds rotational turbulence to the velocity field
SpeedMaximum velocity cap — higher = more chaotic self-interaction
ViscosityResistance to velocity diffusion — higher = smoother, larger-scale motion
BounceHow much velocity reflects off the volume boundary — 0 = absorbed, 1 = elastic
ContainWhen on, fluid reflects at the volume edges; when off, it wraps

Strength and Decay appear below the simulation card and scale the final displacement applied to particles. Decay controls how quickly particle positions return toward rest when velocity is low.

Reset Fluid snaps the entire velocity volume back to zero instantly.

Click Add Force to inject velocity into the fluid volume. Each force has a Strength, Pos X/Y/Z, and Radius (the Gaussian splat size of the injection).

Force typeWhat it doesExtra parameters
DirectionalPushes fluid in a fixed directionDir X, Dir Y, Dir Z
Radial OutPushes fluid outward from the emitter position
Radial InPulls fluid inward toward the emitter position
PulseA single radial burst triggered by a mappable triggerTrigger, Decay
RotationSpins fluid around an axisSpin X, Spin Y, Spin Z
Vortex SinkSwirling inward drainSpin X/Y/Z (axis), Pull, Lift
Texture ForceUses a track texture to drive velocitySource track, Mode (RGB→XY / Luminance→Radial)
NoiseTurbulent per-particle force fieldScale, Speed
DragSlows fluid proportional to local velocity

Up to 8 force generators can run simultaneously.

Symmetry mirrors all forces across an axis at once — useful for symmetric motion without adding duplicate generators. Options: None, Mirror X, Mirror Y, Mirror XY.

All force parameters (position, strength, radius, direction) are full modulation targets — right-click any slider to map it to an LFO, sequencer, audio range, MIDI, or OSC.

Resolution is the main performance lever. Start at 128 or 256 and increase only if you need finer-grained flow detail. 1024 is very GPU-intensive — use it for final output or on high-end hardware.

Depth controls Z-axis resolution. Higher depth gives true 3D volume but multiplies GPU memory usage. Keep it at 4 or 8 unless you need distinct front-to-back flow layers.