Skip to content

Particle Sim

The Particle Sim mode runs a Lagrangian spring simulation on the GPU. Each particle has a rest position it is pulled back toward; force generators apply impulses that scatter, spin, or drag particles away from rest. The result is elastic, bouncy motion with a physical feel.

← Point Cloud Displacement overview

  1. Open the Point Cloud Displacement card in the inspector
  2. Click the PARTICLE SIM toggle to enable it

When Particle Sim is active, the FLUID DISPLACEMENT and TRACK DISPLACEMENT sections become inactive — Particle Sim takes exclusive ownership of position integration. NOISE still stacks on top.

A Presets dropdown at the top of the simulation section provides quick starting configurations (e.g. bouncy, tight spring, heavy damping). Select a preset to load its values, then fine-tune from there.

ParameterDescription
SpringHow strongly particles are pulled back to their rest position — higher = snappier return
DampingViscous damping — reduces oscillation proportional to velocity; higher = quicker settle, less bounce
FrictionFixed speed subtracted from each particle per frame — higher = particles slow and settle dead; 0 = off
GravityPulls particles along the Z axis (depth)
StrengthScales how far particles can be displaced from rest

How far particles drift depends on Noise strength divided by Spring. Both work best at small values, so the Spring slider and the particle sim’s Noise Strength slider give most of their travel to the low end. New particle sims start with Spring 0.010 and a Noise force at Strength 0.04, Scale 0.3 and Speed 0 (a still field). Small Spring changes like 0.010 → 0.009 are a real change. Once particles drift further than one noise feature, they stop wobbling in place and start flowing through the field.

The Bounding Box section constrains particles to a box. It starts folded; click its header to open it. The header shows On while either wall is set and Off otherwise. It has three controls:

ControlWhat it does
WidthHorizontal extent of the box. 0 = no side walls
HeightVertical extent of the box. 0 = no top and bottom walls
BounceHow strongly particles rebound off the box walls

Reset Particles snaps all particles immediately back to their rest positions. It is a trigger you can map: right-click it to fire resets from a MIDI note, an audio onset, a sequencer step, or an LFO. When Spawn From is set to a shape, a reset sends every particle to that shape instead (see below).

By default particles live forever. Switch Lifetime on and each one respawns at its rest position, standing still, when its life runs out — a steady stream of fresh particles instead of a cloud that drifts away for good. The switch can be mapped like any other toggle, and the controls below only show while it’s on.

ControlWhat it does
DurationHow long a particle lives, 0 to 10 seconds (default 2). 0 is the shortest life, a twentieth of a second
VarianceHow much lifetimes differ between particles. At 0.33 a 3-second lifetime gives each particle between 2 and 4 seconds
Respawn JitterRandom offset from the rest position each time a particle respawns, so it doesn’t reappear on exactly the same spot

Particles start at random points in their lives, so a new or reset cloud doesn’t die and respawn all at once. To colour particles by how old they are, set an HSV Colorizer channel’s source to Age.

Spawn From sets where particles reappear when they respawn. The default, Rest, respawns each particle at its own rest position. The other options scatter respawns across a shape you can move, rotate and resize:

ShapeParticles appear…
PlaneAnywhere on a flat rectangle of Width × Height
BoxAnywhere inside a box of Width × Height × Depth
SphereOn the surface of a sphere (an ellipsoid when Width, Height and Depth differ)
LineAlong a line of the given Length
TrailAlong the path that X / Y / Z traced over the last Trail Length frames, within Scatter of it
ControlWhat it does
MixShare of respawns that use the shape; the rest go back to their rest position. 1 = all
X / Y / ZCentre of the shape
Rotate X / Y / ZOrientation of the shape, in degrees

Respawns happen when a particle’s Lifetime runs out, or all at once when you press Reset Particles. Spring decides what happens after that:

  • Spring at 0: the shape works as an emitter. Particles stream off it and the forces carry them away.
  • Spring above 0: particles appear on the shape and fly back into the cloud’s form, so the cloud keeps reassembling itself.

With Trail, X / Y / Z act as a pen. Map them to LFOs and the pen draws a path. Particles respawn anywhere along the last Trail Length frames of that path (2–512), within Scatter (0–0.5 world units) of it. A Reset clears the path, so it draws itself again from the pen.

Rotate X / Y / Z turn the whole path around the cloud’s centre, not just the pen. Each new generation of particles is laid down at the angle of its moment. Respawned particles start at rest, so with Spring at 0, only weak forces and a Lifetime of about a second, they stay roughly where they were born. Every time the rotation moves, the generations fan out into layered strands, and when it holds still they stack into one line. To drive it from the music, map a rotation to a drum with Integrate on, so every hit spins the path forward and leaves it there. Add Copies for radial symmetry, and a weak Noise force for drift.

Symmetry repeats the spawn shape around the cloud’s centre:

ControlWhat it does
CopiesHow many rotated copies of the shape, 1 to 16, spaced evenly around the axis. 1 = off
AxisThe axis the copies turn around: X, Y or Z, or a combination (XY, XZ, YZ, XYZ)
MirrorAlso reflects every copy, doubling the number of wedges. The result looks like a kaleidoscope

For a planar cross, stand a centred Plane on the axis (for example, Rotate X at 90° with Axis Z) and set Copies to 4. A plane looks the same when turned 180°, so 4 copies give two crossing planes and 6 give a three-way star. Tilt the plane, or move the shape away from the centre, then turn on Mirror and raise Copies to build kaleidoscope figures. With a combined axis, each particle gets a random copy around every selected axis in turn. XYZ with Copies at 4 covers every way a cube can be turned (24 cells, or 48 with Mirror). With Copies at 1, Mirror on and XYZ selected, the shape is mirrored into all 8 corners of the cloud.

Each respawning particle picks one copy at random, so the particles are shared across the copies.

All Spawn controls can be modulated. Map Rotate X or Z to a slow LFO to sweep a spawn plane through the cloud. To jump between spawn points on the beat, map X / Y / Z to a sample-and-hold LFO and fire Reset Particles from the same source.

Click Add Force to add a generator. Each force has Strength, Pos X/Y/Z, a Shape (Sphere with a Radius, or Cube with Width, Height and Depth), and a Falloff mode that controls how the force diminishes with distance (Linear, Quadratic, or None).

Turn on Invert to make a force act everywhere outside its shape instead of inside, fading in across the shape’s edge. A Drag at Strength 1 with Invert on freezes the whole cloud except a soft core around the force’s position — only the particles inside it move. An inverted Dynamic force set to repel pushes away everything outside the zone.

Force typeWhat it doesExtra parameters
DirectionalPushes particles in a fixed directionDir X, Dir Y, Dir Z
Radial OutPushes particles outward from the emitter—
Radial InPulls particles inward toward the emitter—
RotationSpins particles around an axisSpin X, Spin Y, Spin Z
Vortex SinkSwirling inward drainSpin X/Y/Z (axis), Pull, Lift
PulseOne-shot impulse triggered by a mappable triggerTrigger, Decay
NoiseTurbulent per-particle force fieldScale, Speed, Octaves, Roughness, Exponent, Seed, Normalize
DragSlows particles proportional to their velocity—
ExciteThe opposite of Drag: speeds up particles inside its radius (up to 3×)—
Texture ForceReads a velocity from a track’s image at each particle’s X/Y positionTexture (source track), Mode (RGB → XY / Luminance → Radial)

Up to 8 force generators can run simultaneously.

The Noise force’s SHAPE section turns plain turbulence into a field that particles can gather in:

ParameterWhat it does
OctavesStacks 1 to 8 layers of finer noise. In-between values fade the last layer in, so it can be modulated smoothly
RoughnessHow strongly each finer layer contributes
ExponentRaises the field to a power. Middle values leave it unchanged; higher values flatten most of the field and leave sharp ridges
SeedShifts the noise pattern. Jump it (for example from a sample-and-hold LFO) to re-seed the field
NormalizeOn (default): every particle is pushed at full strength. Off: the field’s own strength is kept, so particles slow down where it is weak

For filament-like structures, turn Normalize off, raise Exponent and Octaves, set Spring to 0 and keep Damping around 0.65–0.75. Particles stall in the quiet parts of the field and run along the ridges, collecting into threads over a few seconds.

Move an Excite force through the cloud by mapping its Pos X/Y/Z to LFOs: particles streak as it passes.

Texture Force turns any track into a flow field. The source image is laid across the cloud’s X/Y extent (top of the image = up), and each particle reads the pixel under it:

  • RGB → XY — red pushes along X, green along Y, blue along Z. Mid-grey (0.5) is still; brighter pushes one way, darker the other. An animated noise shader makes a good source.
  • Luminance → Radial — bright pixels push particles outward from the centre.

The source defaults to the 3D track’s own input. One texture drives the sim: with several Texture Forces, all of them read the first one’s source.

All force parameters are full modulation targets — right-click any slider to map it to an LFO, sequencer, audio range, MIDI, or OSC. Map a Pulse trigger to an audio onset or MIDI note for beat-reactive explosions.