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
Enabling
Section titled “Enabling”- Open the Point Cloud Displacement card in the inspector
- 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.
Simulation parameters
Section titled “Simulation parameters”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.
| Parameter | Description |
|---|---|
| Spring | How strongly particles are pulled back to their rest position — higher = snappier return |
| Damping | Viscous damping — reduces oscillation proportional to velocity; higher = quicker settle, less bounce |
| Friction | Fixed speed subtracted from each particle per frame — higher = particles slow and settle dead; 0 = off |
| Gravity | Pulls particles along the Z axis (depth) |
| Strength | Scales 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.
Bounding box
Section titled “Bounding box”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:
| Control | What it does |
|---|---|
| Width | Horizontal extent of the box. 0 = no side walls |
| Height | Vertical extent of the box. 0 = no top and bottom walls |
| Bounce | How strongly particles rebound off the box walls |
Reset Particles
Section titled “Reset Particles”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).
Lifetime
Section titled “Lifetime”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.
| Control | What it does |
|---|---|
| Duration | How long a particle lives, 0 to 10 seconds (default 2). 0 is the shortest life, a twentieth of a second |
| Variance | How much lifetimes differ between particles. At 0.33 a 3-second lifetime gives each particle between 2 and 4 seconds |
| Respawn Jitter | Random 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:
| Shape | Particles appear… |
|---|---|
| Plane | Anywhere on a flat rectangle of Width × Height |
| Box | Anywhere inside a box of Width × Height × Depth |
| Sphere | On the surface of a sphere (an ellipsoid when Width, Height and Depth differ) |
| Line | Along a line of the given Length |
| Trail | Along the path that X / Y / Z traced over the last Trail Length frames, within Scatter of it |
| Control | What it does |
|---|---|
| Mix | Share of respawns that use the shape; the rest go back to their rest position. 1 = all |
| X / Y / Z | Centre of the shape |
| Rotate X / Y / Z | Orientation 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
Section titled “Symmetry”Symmetry repeats the spawn shape around the cloud’s centre:
| Control | What it does |
|---|---|
| Copies | How many rotated copies of the shape, 1 to 16, spaced evenly around the axis. 1 = off |
| Axis | The axis the copies turn around: X, Y or Z, or a combination (XY, XZ, YZ, XYZ) |
| Mirror | Also 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.
Force generators
Section titled “Force generators”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 type | What it does | Extra parameters |
|---|---|---|
| Directional | Pushes particles in a fixed direction | Dir X, Dir Y, Dir Z |
| Radial Out | Pushes particles outward from the emitter | — |
| Radial In | Pulls particles inward toward the emitter | — |
| Rotation | Spins particles around an axis | Spin X, Spin Y, Spin Z |
| Vortex Sink | Swirling inward drain | Spin X/Y/Z (axis), Pull, Lift |
| Pulse | One-shot impulse triggered by a mappable trigger | Trigger, Decay |
| Noise | Turbulent per-particle force field | Scale, Speed, Octaves, Roughness, Exponent, Seed, Normalize |
| Drag | Slows particles proportional to their velocity | — |
| Excite | The opposite of Drag: speeds up particles inside its radius (up to 3×) | — |
| Texture Force | Reads a velocity from a track’s image at each particle’s X/Y position | Texture (source track), Mode (RGB → XY / Luminance → Radial) |
Up to 8 force generators can run simultaneously.
Shaping the noise field
Section titled “Shaping the noise field”The Noise force’s SHAPE section turns plain turbulence into a field that particles can gather in:
| Parameter | What it does |
|---|---|
| Octaves | Stacks 1 to 8 layers of finer noise. In-between values fade the last layer in, so it can be modulated smoothly |
| Roughness | How strongly each finer layer contributes |
| Exponent | Raises the field to a power. Middle values leave it unchanged; higher values flatten most of the field and leave sharp ridges |
| Seed | Shifts the noise pattern. Jump it (for example from a sample-and-hold LFO) to re-seed the field |
| Normalize | On (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
Section titled “Texture Force”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.