Smoke Sim
Simulate smoke and gas motion in a 3D volume.
What it does
Configures an Eulerian gas simulation: smoke, steam or fire rising and dissipating through a 3D grid. Feed it a point cloud, where each point becomes a smoke emitter, or a sampled geometry, and it sets up the simulation grid, emitter behaviour, buoyancy and dissipation. The solve happens in Physics World, which this node's output must feed as its smoke input.
With Auto Domain on, the simulation grid fits itself to the emitters, with padding and extra headroom above for a rising plume. With it off, the domain is placed by hand with Domain Size and Domain Center. Enable Combustion and the same solver becomes a fire sim: fuel ignites past a threshold temperature, burns down over time, and produces heat and soot.
When to use it
Rising smoke, steam or gas from one or more emitter points
Fire, via Combustion, which adds ignition, burn rate and soot
A plume reacting to a scene: buoyancy raises hot gas, Smoke Weight lets dense smoke sink or hang
Turbulent, curling detail: raise Vorticity Strength
| Parameter | Type | Default | What it does |
|---|---|---|---|
input | Points or Geometries | — | Point cloud (each point becomes a smoke emitter) or geometry to sample |
resolution | Number | 64 | Grid resolution (N×N×N voxels) |
auto_domain | Boolean | true | Auto-fit the simulation domain to the emitter points (plus padding and vertical headroom for the rising plume). Turn off to place the domain manually. |
domain_size | Number | 200 | Domain size in world units (manual — used when Auto Domain is off) |
domain_center | Vec3 | (0, 0, 0) | Domain center position in world space (manual — used when Auto Domain is off) |
emission_rate | Number | 1 | Density injection rate per frame |
emission_temperature | Number | 500 | Temperature injection value |
emitter_radius | Number | 5 | Emitter radius in voxels |
buoyancy | Number | 1 | Buoyancy strength (hot gas rises) |
smoke_weight | Number | 0.100 | Smoke weight (dense smoke sinks) |
density_dissipation | Number | 0.950 | Density dissipation per frame (1 = no decay) |
temperature_dissipation | Number | 0.980 | Temperature dissipation per frame (1 = no decay) |
vorticity_strength | Number | 0.300 | Vorticity confinement strength (adds turbulent detail) |
pressure_iterations | Number | 40 | Jacobi pressure solver iterations (higher = more accurate) |
enable_combustion | Boolean | false | Enable combustion — fuel burns to produce heat and soot (fire) |
ignition_temperature | Number | 1 | Temperature threshold above which fuel ignites |
burn_rate | Number | 0.500 | Rate at which fuel is consumed per second |
heat_output | Number | 2 | Temperature produced per unit fuel burned |
soot_output | Number | 1 | Density (soot) produced per unit fuel burned |
cooling_rate | Number | 0.100 | Temperature cooling rate per second |
strength | Number | 1 | Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable. |
Gotchas
Domain Size and Domain Center apply only when Auto Domain is off. With Auto Domain on, the grid is fit from the emitter points each time and the manual values are ignored.
Combustion's Ignition Temperature, Burn Rate, Heat Output, Soot Output and Cooling Rate appear only once Enable Combustion is switched on.
Smoke Sim does not simulate on its own. Grid and solver settings are stamped onto the emitter points, which pass through. Wire its output into Physics World's smoke input; nothing rises until Physics World runs the solve.
If the plume looks too accurate and glassy, lower Pressure Iterations for a softer, cheaper solve, or push Vorticity Strength up for extra swirling detail.
Worked example
Scatter points where the smoke should emit from, and feed them into Smoke Sim's input.
Leave Auto Domain on so the grid fits the emitters automatically.
Raise Emission Rate and Emission Temperature to push more hot gas in.
Wire Smoke Sim's output into Physics World's smoke input to run the solve.
For fire instead of smoke, enable Combustion and raise Heat Output.
See also
Fluid Sim · Physics World · Force Field · Distance fields & volumes