MixavisdocsHomeCommunityOpen editor
DOCS/Drivers

Turbulence

Forces

A flowing noise field that drifts clones like air or water.

Turbulence samples a noise field at each clone's position and pushes it accordingly. Because nearby clones sample nearby parts of the field, they move together in sheets — which is what makes it read as a current rather than as individual jitter.

That positional sampling is the whole difference between Turbulence and the Random driver. Random gives every clone its own independent wander. Turbulence gives them a shared medium.

Try itTurbulence
This stage calls the shipping force driver once per clone, with each clone's own position — exactly as the Instancer does.

When to reach for it#

  • Smoke, mist, dust, and anything carried on air.
  • Underwater drift.
  • Breaking up a rigid grid into something that reads as organic.

How it works#

Two noise fields, one per axis, sampled at the clone position scaled by Scale, and advanced through time by Flow. Scale is the spatial frequency — it decides how large the swirls are relative to the canvas. Flow is the temporal frequency — it decides how fast the field itself changes.

The two are independent, and getting the relationship right is most of the work. A large Scale value means small tight swirls; a small one means broad slow currents.

Parameters#

Amountamp#

Maximum displacement in pixels. This is the easy control — set the character with Scale and Flow first, then use Amount to decide how far it goes.

Scalescale#

Spatial frequency of the field. Small values like 0.0008 give broad currents where the whole array moves together. Large values like 0.008 give tight local eddies where neighbouring clones disagree.

Flowfreq#

How fast the field itself evolves, in hertz. At 0 the field is frozen and clones sit at a fixed displacement. Around 0.3 is a slow drift; above 2 it churns.

Seedseed#

Which field you get. Change it when two turbulent layers are moving in sympathy.

Recipes#

01

Drifting smoke

  1. Add an Instancer, grid layout, plenty of clones, with Random position pushed up so it does not read as a grid.
  2. Add Turbulence, Amount 90, Scale 0.0015, Flow 0.25.
  3. Add a Random driver on Opacity, low frequency.

The low Scale is doing the work. It makes neighbouring clones move together, which is the difference between smoke and static.

Things that catch people out#

High Scale looks like noise, not flow

Past about 0.01 each clone samples a completely different part of the field and the coherence is gone. If it looks like jitter, lower the Scale.

Flow 0 freezes it

A frozen field still displaces the clones — it just never changes. That is a useful way to scatter a grid deterministically without any motion.

See also#

driversRandom — independent noise per clone→modifiersInstancer→

Something here wrong or missing? Tell us in the community.