| tx | Float | 0.0 | Translate X — position along the world X axis, metres. |
| ty | Float | 0.0 | Translate Y — position along the world Y axis (up), metres. |
| tz | Float | 0.0 | Translate Z — position along the world Z axis, metres. The camera looks down −Z. |
| rx | Float | 0.0 | Rotate around X, degrees. |
| ry | Float | 0.0 | Rotate around Y (turntable), degrees. |
| rz | Float | 0.0 | Rotate around Z (roll), degrees. |
| sx | Float | 1.0 | Scale along X. 1 = unchanged. |
| sy | Float | 1.0 | Scale along Y. |
| sz | Float | 1.0 | Scale along Z. |
| size_x | Float | 2.0 | The domain box's width in metres. The box stands on the node's origin and is centred on it in x and z. |
| size_y | Float | 3.0 | The domain box's height in metres, from the floor up. |
| size_z | Float | 2.0 | The domain box's depth in metres. |
| resolution | Int | 64 | Voxels across the box's longest side — the realtime-vs-quality dial. On the GPU 64 costs a few milliseconds a frame and 128 stays under 30 ms; without a GPU the CPU solver takes ~300 ms a frame at 64. Every axis rounds to whole 8³ bricks. |
| substeps | Int | 1 | Solver steps per frame. 1 is right for gentle fog; fast jets and strong turbulence want 2–3 to keep the motion smooth. |
| cfl | Float | 0.0 | Substeps by CFL: 0 keeps substeps fixed; 1–2 splits each frame until no cell's gas crosses more than that many cells per substep (from substeps up to 8). Fast fire stops smearing; slow fog costs nothing extra. |
| max_substeps | Int | 8 | The ceiling on CFL substeps (see cfl). A budget, not a stability guarantee: raise it for fine voxels and fast gas and watch the step cost climb with it. The KILN badge says when the solve is asking for more than this, and a solve stepping past its ask can hold for a while and come apart later. |
| velocity_advection | Choice | linear | How the velocity is carried each substep. linear is a blur applied once per substep, so a shot is filtered a little more every frame (the lava-lamp look of a gas solver); cubic is 64 taps against 8, about half again on the step, and keeps 19% more at the grid's own Nyquist. EmberGen's ground fire runs cubic on both. linearcubic |
| voxel_advection | Choice | linear | How the smoke, heat, fuel, flames and age are carried each substep. linear blurs a little every frame; cubic keeps the edges and costs about half again on the step. The fog presets run cubic. linearcubic |
| shutter | Float | 0.0 | Shutter time as a fraction of a frame: 0.5 = 180°. How long the blur smears. |
| shutter_samples | Int | 9 | How many sub-frame samples the bake's velocity-warped motion blur takes across the shutter. 9 is smooth for a 180° shutter; fewer bands, more costs linearly. |
| bake_slices | Int | 1 | KQ-4's film tier: how many sub-frame slices a bake writes per frame. The solver steps each frame in that many equal parts and writes every part (slice 0 is the frame's file, the rest sit beside it as .s1, .s2 …); the render draws each slice and averages them — a box shutter over the frame, true for curved motion and for gas that appears mid-frame, which the velocity warp (shutter) is not. Costs that many renders a frame and that much disk. 1 = off. Slices take precedence over the warp. |
| density_threshold | Float | 0.0 | Volume processing, on the way OUT: density below this is dropped before the grid is published or baked. In the field's own units (the badge's percentiles read off it). The gas itself is never touched, so a threshold is a look decision, not a different sim; changing it re-packs the running sim from a checkpoint and stales a bake on disk. |
| density_gain | Float | 1.0 | Volume processing: the published density multiplied, after the threshold. 1 = as solved. |
| density_gamma | Float | 1.0 | Volume processing: a power on the published density after the threshold and gain. 1 = as solved; above 1 thins the haze and keeps the core. |
| temperature_threshold | Float | 0.0 | Volume processing: temperature below this publishes as 0. In the temperature's own units. |
| temperature_gain | Float | 1.0 | Volume processing: the published temperature multiplied. 1 = as solved. |
| flames_threshold | Float | 0.0 | Volume processing: flames below this publish as 0 — crisp flame borders without changing what burns. |
| flames_gain | Float | 1.0 | Volume processing: the published flames multiplied. 1 = as solved. |
| loop | Int | 0 | FS-7: bake a seamless loop of this many frames. The bake runs two copies of the sim N frames apart and crossfades them (Houdini's Make Loop), so the frame after the last is the first again; the cache plays it back wrapping, for as long as the shot runs. 0 = a plain bake. Set the range's start; its end is ignored. |
| upres | Int | 1 | KQ-1's bake upres: the factor the bake's grid is finer than the live one (2 = twice the voxels per axis). Shape the shot live at a resolution that runs; the bake synthesises detail above the base grid's Nyquist with the same motion. 1 = off, which is every saved comp. |
| upres_octaves | Int | 2 | How many octaves of detail the upres synthesises above the base grid (each halves the scale). 2 is a bake that reads sharper without reading different. |
| upres_strength | Float | 1.0 | How strong the synthesised detail is against the base density. 1 = the detail at the base's own contrast; 0 = an upres that only interpolates. |
| start | Float | 1.0 | The shot's first frame of gas. Before it nothing draws. With preroll 0 the gas is one step old here (it was empty the frame before); with a preroll it is already up. To have gas at this frame, use preroll rather than an earlier start — the emitter window (emit_from) is a shot frame and would sit idle through the early frames. |
| preroll | Int | 0 | Frames simulated before start with the emitter running, off-screen, so the gas is already up when the shot begins — a start of 60 with preroll 30 runs frames 30–59 without showing them. 30 gives a chimney a full plume at its start; 0 starts from empty. |
| fps | Float | 24.0 | The shot's frame rate, so buoyancy, drag, rates and speeds are per SECOND and the look does not change with the project's fps. |
| emitter | Choice | sphere | The emitter's shape, placed in the domain's own space: a sphere, a box, or matte — the compositor's own: whatever is wired into the matte input (a Roto, a Crucible matte, any alpha) becomes the source, on a plane facing the camera-side z, emit_radius × 2 wide with the image's aspect, emitting through a slab emit_soft × 2 deep. Smoke comes off the roto's shape; an animated roto animates the source. sphereboxmattejet |
| jet_dir_x | Float | 0.0 | The Jet emitter's axis, x: the direction the cone of gas is fired along (a torch, a burner, a flamethrower). Normalised on use. |
| jet_dir_y | Float | 1.0 | The Jet emitter's axis, y. (0, 1, 0) fires straight up. |
| jet_dir_z | Float | 0.0 | The Jet emitter's axis, z. |
| jet_length | Float | 1.0 | How far the Jet's cone reaches along its axis, metres: emit_radius is the mouth at this distance and emit_soft is the nozzle at the source. |
| emit_x | Float | 0.0 | Emitter centre x, metres from the domain's floor centre. |
| emit_y | Float | 0.3 | Emitter centre height above the floor, metres. |
| emit_z | Float | 0.0 | Emitter centre z, metres from the domain's floor centre. |
| emit_radius | Float | 0.25 | The emitter's radius (sphere) or half-width (box), metres. |
| emit_soft | Float | 0.1 | Metres over which the emitter fades at its edge. 0 is a hard shape. |
| emit_density | Float | 6.0 | Smoke added per second inside the emitter. 0 emits heat alone — an invisible updraft. |
| emit_temperature | Float | 1.0 | The temperature the gas is pushed toward inside the emitter (0 = ambient). Heat is what makes it rise. |
| emit_heat_rate | Float | 12.0 | How fast the gas inside the emitter reaches emit_temperature, per second. High = an instant hot source; low = a slow warm-up. |
| emit_vx | Float | 0.0 | Velocity the emitter pushes the gas toward, x (m/s). With emit_velocity_rate 0 the emitter only adds material. |
| emit_vy | Float | 0.0 | Velocity the emitter pushes the gas toward, y — up (m/s). A jet. |
| emit_vz | Float | 0.0 | Velocity the emitter pushes the gas toward, z (m/s). |
| emit_velocity_rate | Float | 0.0 | How strongly the emitter imposes its velocity, per second. 0 = none; 10+ = a nozzle. |
| emit_fuel | Float | 0.0 | Fuel the emitter adds per second. 0 is a smoke or fog sim. Fuel is carried by the gas and burns where it is hot enough (ignition), into flames, heat and smoke — the Fire page sets how. The Torch, Campfire, Gas jet, Candle and Burning debris presets start from here. |
| emit_paint | Float | 0.0 | FS-9: the paint this source injects, 0 to 1 — the tracer colour. A voxel's paint is the density-weighted mix of what was there and what arrived, so two sources painting 0 and 1 meet in the middle. The Shading reads it through the ramp with scatter_by = paint; every emitter node has its own. |
| emit_color | Color | [1.0, 1.0, 1.0, 1.0] | RGB paint: the colour this source's gas carries. Where gases of different colours meet they mix like dye (density-weighted, per channel): red and blue make purple, blue and gold make green, with no ramp between them. White = undyed (and a sim where every source is white carries no dye at all). Seen with scatter_by = dye, where the colour IS the smoke's albedo; every emitter node has its own. |
| flammable | Bool | false | FS-8: the walls catch fire. Every wall this sim has — the plate's depth, a scene mesh, a placed box or sphere — lights where the gas beside it is hotter than flammable_temp for flammable_dwell frames; a lit cell injects fuel, heat and smoke for flammable_fuel seconds, and the fire spreads over the wall at flammable_spread cells a second, downwind of the gas. The KILN badge says how much burns. Off = the sim as it was. |
| flammable_temp | Float | 0.6 | The temperature the gas beside a wall cell must reach before the cell starts to catch (the solver's temperature units; a torch's core is 1). |
| flammable_dwell | Int | 3 | How many frames the gas must stay that hot beside a cell before it lights. A spark passing by does not; a torch held there does. |
| flammable_fuel | Float | 3.0 | How long a lit cell burns, seconds, before it is spent. Spent cells never relight. |
| flammable_spread | Float | 6.0 | How fast the fire runs over the wall: wall cells a second each burning cell lights. Half the time downwind of the gas, half anywhere, so fire climbs with an updraft and runs with a wind. 0 = only what the gas itself lights. |
| flammable_burn | Float | 6.0 | Fuel a second each burning cell injects into the gas beside it; the solver burns it into flames, heat and smoke as it burns any fuel (combustion, ignition, burn_rate). |
| flammable_heat | Float | 1.0 | The temperature a burning cell pushes the gas beside it toward. |
| flammable_smoke | Float | 2.0 | Density a second a burning cell injects — the smoke off the burning surface. |
| spray_rate | Float | 0.0 | The emitter's PARTICLES: splats a second born in the emitter's shape and riding the gas, each injecting its own small puff. 0 = off (a smooth field, which burns as one mass); above 0 the shape becomes the birth region and what emits is thousands of small splats — EmberGen's Emitter: Particles, and where their fire's structure comes from. |
| spray_life | Float | 0.3 | How long a spray particle lives, seconds, before it stops injecting. |
| spray_life_var | Float | 0.35 | How much the life varies per particle, as a fraction (0.35 = ±35%), so the spray dies raggedly instead of on one frame. |
| spray_radius | Float | 0.02 | The puff each spray particle injects, metres. Small against the emitter is what makes structure. |
| spray_radius_var | Float | 0.4 | How much the puff radius varies per particle, as a fraction. |
| spray_shrink | Float | 0.0 | How fast a particle's puff shrinks over its life (0 = constant; 1 = gone by the end). |
| spray_speed | Float | 0.4 | The speed a spray particle is born with, m/s, along spray_dir spread by spray_spread. |
| spray_dir_x | Float | 0.0 | The spray's birth direction, x. Normalised on use. |
| spray_dir_y | Float | 1.0 | The spray's birth direction, y. (0, 1, 0) = up. |
| spray_dir_z | Float | 0.0 | The spray's birth direction, z. |
| spray_spread | Float | 1.0 | How far off the birth direction the particles scatter (0 = a beam, 1 = a hemisphere). |
| spray_follow | Float | 12.0 | How hard a spray particle is pulled toward the gas's own velocity, per second. High = the particles are the gas; low = they carry their birth speed through it. |
| spray_gravity | Float | 0.0 | Gravity on the spray particles, m/s² downward. 0 = they ride the gas alone. |
| spray_drag | Float | 0.5 | How fast a spray particle's own speed decays, per second. |
| spray_max | Int | 120000 | The most spray particles alive at once. A cap on the cost; when it binds the oldest are dropped. |
| emit_from | Float | 1.0 | First frame the emitter is on. |
| emit_to | Float | 1000000.0 | Last frame the emitter is on. A short window makes a puff; leave it high for a steady source. |
| buoyancy | Float | 4.0 | Lift per unit of temperature above ambient, m/s² — the heat's pull upward. 4 is a lively plume; 1 is lazy. |
| weight | Float | 0.1 | How much smoke weighs, m/s² per unit of density: heavy smoke sinks and pools (fog); 0 neither sinks nor rises on its own. |
| vorticity | Float | 0.3 | Vorticity confinement: puts the small swirls back that the grid smooths away. 0.3 is natural; 1+ is ropey and turbulent. |
| drag | Float | 0.05 | Velocity lost per second. Kills momentum so the gas settles instead of coasting forever. |
| dissipation | Float | 0.02 | Smoke lost per second (fraction). 0 keeps every wisp; 0.1 clears fast. |
| cooling | Float | 0.4 | How fast heat returns to ambient, per second. High cooling: the plume stops rising soon after it leaves the source. |
| wind_x | Float | 0.0 | A steady wind the gas is pulled toward, x (m/s). |
| wind_y | Float | 0.0 | A steady wind, y — up (m/s). |
| wind_z | Float | 0.0 | A steady wind, z (m/s). |
| wind_coupling | Float | 0.5 | How strongly the gas follows the wind, per second. 0.5 is a breeze that lets the plume keep its own shape; 5 drags it bodily. |
| turbulence | Float | 1.0 | Curl-noise stirring, m/s². 0 is calm; 1–2 breaks a plume into billows. Divergence-free, so it never piles gas up. |
| turbulence_size | Float | 0.5 | The size of the turbulence's largest swirls, metres. |
| turbulence_speed | Float | 0.5 | How fast the turbulence pattern evolves, per second. 0 freezes it in space. |
| disturbance | Float | 0.0 | Disturbance (Pyro's Gas Disturb): a random push, in m/s², per block of disturbance_size metres, new every substep, where the gas is hotter than disturbance_from — high-frequency break-up of the flame's surface without changing its bulk motion. 2–4 for fire; 0 off. |
| disturbance_size | Float | 0.15 | The block size of the disturbance in metres — the scale of the break-up. 5 cm shreds a torch's surface; 20 cm churns a bonfire. |
| disturbance_from | Float | 0.2 | Disturbance acts where the temperature is above this (a soft gate a quarter of it wide), so the flame breaks up and the smoke above it is left alone. 0 acts wherever there is material. |
| shredding | Float | 0.0 | Shredding (Pyro's Gas Shred): the flow is turned along the temperature gradient at this rate per second, at its own speed — no speed added — which is the licking of flames at their tips. 2–4 for fire; 0 off. A weak gradient turns weakly. |
| shred_from | Float | 0.1 | Shredding acts where the temperature is above this (a soft gate a quarter of it wide). 0 acts wherever there is material. |
| sharpen | Float | 0.0 | Sharpening: anti-diffusion on the density at this rate per second — each voxel pulled away from its neighbours' mean, never below zero — so the smoke's edges hold against the advection's smear. 0.5–1 for defined smoke; 0 off. |
| seed | Int | 7 | The variation seed for the turbulence. Same seed, same gas. |
| pressure_iters | Int | 40 | Pressure solve passes per step. 40 is the look; fewer is faster and slightly puffier; more is exact. |
| floor | Bool | true | The floor is a wall: the gas cannot sink through it, so fog pools. Off, every face of the box is open. |
| combustion | Choice | simple | How fuel burns. simple burns fuel wherever it is hot enough — a glowing mass. diffusion burns at the INTERFACE where fuel meets air (an oxidiser field on both solvers; stoich sets how much air a unit of fuel needs): the wrinkled sheet a real flame is, and about 1.7% of the emission, so the fire look is re-dialled with it. simplediffusion |
| stoich | Float | 10.0 | Diffusion combustion: how much air a unit of fuel needs to burn. Higher makes the flame sheet thinner and further from the fuel. |
| burn_chaos | Float | 0.0 | Combustion chaos: the reaction rate wrinkled by a rising, vertically stretched noise, so the sheet burns in filaments instead of evenly. This is the knob that turns a lit shape into tongues. 0 = off. |
| burn_chaos_size | Float | 0.15 | The size of the combustion chaos's wrinkles, metres. |
| burn_chaos_speed | Float | 1.5 | How fast the combustion chaos rises through the flame, m/s. |
| ignition | Float | 0.3 | The temperature fuel must reach to burn (a soft gate a quarter of it wide). The emitter's own emit_temperature is what lights a torch; 0 burns fuel wherever it is. |
| burn_rate | Float | 8.0 | How fast lit fuel burns: the fraction of a voxel's fuel consumed per second. Faster is a shorter, hotter, crisper flame; slower fuel travels further before it burns. |
| heat_yield | Float | 2.0 | Heat per unit of fuel burnt, in temperature units (1 is the temperature fire_kelvin maps to). More lifts the flame harder and shifts its colour hotter. |
| smoke_yield | Float | 0.25 | Smoke (density) per unit of fuel burnt: 0 for a clean gas flame, 0.3 for a campfire, 0.8 for burning debris. |
| expansion | Float | 0.5 | How much burning gas pushes outward, as the divergence the pressure solve leaves per unit of fuel burnt per second. The whoomph of a fireball; 0 keeps the gas incompressible. |
| flame_life | Float | 0.2 | Seconds a flame lingers where nothing is burning any more (the flames field decays by e^(−t/life)). Short for a gas jet, longer for lazy licking flames. |
| fire_kelvin | Float | 1800.0 | The blackbody colour at temperature 1 (the emitter's emit_temperature scale), in kelvin: 1600 a sooty orange, 1900 a torch, 2600 a blue-white gas flame. Hotter voxels map beyond it. |
| fire_kelvin_ambient | Float | 1000.0 | The blackbody colour at temperature 0, in kelvin — the coolest a glowing voxel reads (the table starts at 1000 K, deep red). |
| fire_intensity | Float | 4.0 | Brightness of the flames at the reference temperature (fire_kelvin), scene-linear. With fire_physical on, hotter voxels are brighter by T⁴ from here; cooler ones dimmer. |
| fire_physical | Bool | true | Physically bright fire (KQ-3): the blackbody's radiance keeps its T⁴ magnitude relative to fire_kelvin, so an ember and the core differ by the orders of magnitude that are the fire look. Off: colour only, one brightness — the stylised reading. |
| fire_emit_low | Float | 0.0 | The flames' emit range, low end: where the flames field (fuel burnt per second) is below this nothing glows — the border of the flame gets crisp instead of fading out. 0 with fire_emit_high 0 leaves the field as it is. |
| fire_emit_high | Float | 0.0 | The flames' emit range, high end: above this the glow is flat at the high value — a flat bright core rather than a hot spot. Try 1 and 6 on a torch. 0 with fire_emit_low 0 leaves the field as it is. |
| fire_glow | Float | 0.0 | Fire lights its own smoke: the flames field IS a light, gathered over a small neighbourhood. 0 = off (the look every saved comp has); above it a torch in a dark room has orange smoke over it instead of black. The gain of that light. |
| fire_glow_radius | Float | 0.15 | How far the flames' glow reaches into the smoke, metres. |
| light_grid | Bool | false | The cached light grid (KQ-7): the shadow toward the key light and toward the sky is marched to the volume's edge from a coarse grid once per frame, instead of eight short steps at every sample. Shadows reach the whole volume and are soft; dense gas stops leaking light. Off keeps the look every saved comp has; the fog and smoke presets turn it on. |
| energy | Bool | false | FS-9's energy shading: the gas itself glows, through the four-stop ramp over the colour field (ramp_by) — no blackbody, no fuel. For spells, wisps, auras and portals. Set smoke_albedo to 0 alongside for glow alone; the presets do. |
| ramp_by | Choice | age | What the ramp reads: age — the age tracer, seconds since the gas was emitted (white where born, dark where old: trails); temperature — the heat; density — the gas itself (a two-tone core and halo). agetemperaturedensitypaint |
| ramp_low | Float | 0.0 | The colour field's value that reads as the ramp's first stop. Seconds for age, degrees for temperature, density for density. |
| ramp_high | Float | 2.0 | The colour field's value that reads as the ramp's last stop; between the two the four stops are evenly spaced, and past either end the ramp holds. |
| scatter_by | Choice | none | FS-9: the smoke's colour from a field through the four-stop ramp instead of the smoke colour: paint (what the sources injected — two paints mix where they meet), age (how long the gas has been out), temperature — or dye, the sources' own colours (emit_color) with no ramp at all: any number of colours mixing like dye. The ramp is the same one energy shading uses (ramp_0..3, ramp_low/high). The colour field rides the temperature slot, so on a burning sim the blackbody loses its temperature grid to it. none = the plain smoke colour. nonepaintagetemperaturedye |
| energy_intensity | Float | 2.0 | How bright the glow is per unit density, in the ramp's colours. |
| ramp_0_r | Float | 1.0 | The energy ramp: the first stop, at ramp_low — red. |
| ramp_0_g | Float | 1.0 | The energy ramp: the first stop, at ramp_low — green. |
| ramp_0_b | Float | 1.0 | The energy ramp: the first stop, at ramp_low — blue. |
| ramp_1_r | Float | 0.45 | The energy ramp: the second stop, a third of the way up — red. |
| ramp_1_g | Float | 0.8 | The energy ramp: the second stop, a third of the way up — green. |
| ramp_1_b | Float | 1.0 | The energy ramp: the second stop, a third of the way up — blue. |
| ramp_2_r | Float | 0.55 | The energy ramp: the third stop, two thirds up — red. |
| ramp_2_g | Float | 0.2 | The energy ramp: the third stop, two thirds up — green. |
| ramp_2_b | Float | 1.0 | The energy ramp: the third stop, two thirds up — blue. |
| ramp_3_r | Float | 0.05 | The energy ramp: the last stop, at ramp_high — red. |
| ramp_3_g | Float | 0.0 | The energy ramp: the last stop, at ramp_high — green. |
| ramp_3_b | Float | 0.12 | The energy ramp: the last stop, at ramp_high — blue. |
| unlit_ambient | Float | 1.0 | The flat light on the gas when the scene has NO lights. 1 = what shipped: a white sky that is not there, which on a fire in a dark scene lights the thin smoke into a grey halo. The fire and energy presets run 0, so only the flame lights its own smoke. Inert once the scene has a light. |
| fire_opacity | Float | 0.0 | How much the FLAMES field extinguishes light. 0 = fire as a purely additive emitter, which cannot hide its own core, so a thick flame integrates into a saturated mass with no dark interior. Above 0 only the near surface glows and the inside goes dark behind it — the translucent-sheet look of EmberGen's default fire. |
| ms_octaves | Int | 0 | Wrenninge's octave multiple scattering, under Karma's knob names. Octaves of scattering beyond the first: 0 = single scatter (what shipped), 2–3 = thick smoke bright in the middle and soft at its edge instead of a dark mass with a lit rim. Nearly free. |
| ms_extinction | Float | 0.5 | Multiple scattering: each octave sees the medium thinner by this factor (Karma's extinction modifier). 0.5 is the usual. |
| ms_contribution | Float | 0.5 | Multiple scattering: each octave contributes this fraction of the one before (Karma's contribution modifier). Raise it to bring Live's interior brightness toward Final's. |
| ms_phase | Float | 0.5 | Multiple scattering: each octave scatters more broadly by this factor on the anisotropy (Karma's phase modifier). |
| sky_occlusion | Float | 0.0 | A dome light occluded by the gas above a voxel — what makes a fog bank darker underneath than on top. 0 = the flat ambient fill every saved comp has; 1 = the sky fully shadowed by the gas above. With light_grid on, the occlusion is marched to the volume's edge. |
| renderer | Choice | live | live: the raymarch (what the viewport draws, what every saved comp has). final: the Final renderer — a volumetric path tracer over the same gas, lights and look: no step size, every light sampled directly with an exact transmittance, real multiple scattering up to bounces, a dome occluded by the gas above. Slower by spp; deterministic. The bake renders with it too. livefinal |
| spp | Int | 16 | Final renderer: samples a pixel a render. 16 is a look-dev preview with grain; 64–256 is a frame worth keeping. The cost is linear in it. |
| bounces | Int | 4 | Final renderer: how many times light may scatter inside the gas. 1 is single scattering (the march's model, exactly integrated); 4–8 lights the inside of thick smoke and softens its edges the way a film volume renderer does. |
| pt_seed | Int | 0 | Final renderer: the noise pattern's seed. The frame number is added, so no two frames share their noise and the same frame renders the same twice. |
| denoise | Choice | off | Cleans a Final render's noise, on the SCATTERED light only (the fire, the alpha and the depth are never touched). ai = Intel Open Image Denoise: clean frames at a fraction of the samples, on the GPU where it can; where its library is not installed it falls back to spatial and the panel says so. spatial = an edge-aware à-trous filter, the same answer every run. Off by default. offspatialai |
| denoise_passes | Int | 3 | How wide the denoise reaches: à-trous passes, 1 (a 5×5) to 6 (the whole frame). 3 is the usual. |
| march_step | Float | 1.5 | How far the viewport's march steps, in voxels. 1.5 is what shipped and is coarse (it undersamples the grid); 0.75 is the presets'; under 1 costs proportionally and is what a final frame wants. The Final renderer has no step. |
| sharpen_smoke | Float | 0.0 | Raymarch sharpening (EmberGen's name): an unsharp mask on the density as it is SAMPLED, so a grid too coarse to hold an edge still renders one. Their default fire runs all three at 2.5. 0 = off. |
| sharpen_flames | Float | 0.0 | Raymarch sharpening on the flames field as it is sampled: crisper tongues from the same grid. 0 = off. |
| sharpen_temperature | Float | 0.0 | Raymarch sharpening on the temperature field as it is sampled: crisper colour edges in the fire. 0 = off. |
| sharpen_radius | Float | 1.0 | The raymarch sharpening's tap radius, voxels. 1 sharpens the finest edges; larger sharpens broader structure. |
| smoke_albedo | Float | 0.7 | How much light the smoke scatters back: 0.7 is grey-white fog and steam, 0.4 a campfire's smoke, 0.12 the soot off burning debris. A VolumeShade wired after the Kiln overrides the whole look. |
| density_scale | Float | 1.0 | How much one unit of density extinguishes light, per metre (units world) or per voxel. The first dial for how thick the gas reads; the shadows and the alpha follow it. |
| anisotropy | Float | 0.2 | The scattering's forward bias (Henyey-Greenstein g), −0.9 to 0.9. 0 scatters evenly; 0.2–0.5 is smoke, brighter toward the light behind it; negative scatters back. |
| shadow_density | Float | 1.0 | How hard the gas shadows itself: the density seen by the shadow toward the key light and the sky, as a multiple of density_scale. Under 1 lets light deeper in than the alpha says; an art-direction dial. |
| embers | Float | 0.0 | Embers born per second in the flames — sparks that ride the gas up and out, glowing, cooling and dying. 0 is off. 40 for a campfire, 60 for burning wreckage, a dozen for a torch. Drawn as glowing dots with the gas, in the viewport and the render; a bake writes them beside its frames (<label>.embers.json) and plays them back. |
| ember_from | Float | 2.0 | Embers are born where flames (fuel burnt per second) is above this, weighted by how hard the voxel burns. Higher keeps them to the fire's core. |
| ember_life | Float | 1.5 | Seconds an ember lives, give or take ember_life_var of it. |
| ember_life_var | Float | 0.5 | How much lives vary, 0–1 of ember_life: 0 is a uniform lifetime, 0.6 a spread from short flickers to long travellers. |
| ember_kick | Float | 1.5 | The upward kick at birth, m/s, on top of the gas's own velocity — how far an ember leaps out of the flame before the gas takes over. |
| ember_follow | Float | 4.0 | How fast an ember's motion is pulled toward the gas's (1/s): high and it is carried like smoke, low and it flies its own arc. |
| ember_gravity | Float | 1.0 | Downward pull on the embers, m/s². Light ash rises on the gas at 0.5; a heavy cinder falls at 3. |
| ember_drag | Float | 0.5 | Velocity lost per second. More settles an ember into the gas sooner. |
| ember_cool | Float | 0.8 | Heat lost per second: 1 → white-hot at birth, cooling through orange to dark. Faster and they wink out; slower and they trail glowing. |
| ember_glow | Float | 6.0 | Brightness at full heat, scene-linear; it falls with the square of the heat as an ember cools. |
| ember_kelvin | Float | 1800.0 | The blackbody colour at full heat; an ember cools toward the table's deep red at 1000 K. |
| ember_size | Float | 3.0 | Dot size on screen, pixels — constant at any distance (the point-cloud dot path). |
| ember_max | Int | 4000 | The most embers alive at once; the oldest die first past it. A cap so a long shot cannot quietly grow unrenderable. |
| ember_seed | Int | 11 | The embers' own seed: the same seed, gas and frame birth the same embers, live, on a resume from a checkpoint and in a bake. |
| units | Choice | world | What one unit of density means to the renderer: world integrates per metre (the physical reading, the default for a new node); voxel per index voxel. voxelworld |
| network | Text | | The sim network inside this node — Domain, Solver, emitters, forces, Input and Output nodes wired into typed ports — as one value (dive in to edit it; never a text field). Empty is the default network: this panel's sections as nodes, every knob promoted to the panel. An inner knob set inside beats the panel; a promoted one follows it. |
| bake_dir | Text | | Where ⚒ Bake writes its frames. Empty keeps every project in its own folder (kiln/<project> beside the script); point it anywhere for a shared cache. The frames are .vdb files any DCC opens. |
| bake_label | Text | | What the baked frames are called (<label>.####.vdb). Empty uses the node's name. A manifest beside them names the bake's owner, so another node pointed at the same files never plays a mix of two sims. |
| bake_grids | Choice | density temperature | Which grids a bake writes per frame: density alone; density temperature (the default — what the shading reads); or with vel too — the velocity as one vec3 grid, the way Houdini's and Karma's motion blur read it. Half precision, zip-compressed; more grids, bigger files. densitydensity temperaturedensity temperature velocitydensity temperature agedensity temperature velocity agedensity temperature paintdensity temperature velocity age paint |
| baked | Text | | The last bake's frame pattern. While its fingerprint still matches the sim, the node plays from these files instead of simulating — at speed, whatever the sim weighs, and scrubbing is free. A sim knob change makes it stale (the badge says so) and the sim runs live again; the re-bake is your click, never a silent re-sim. Clear bake goes live and leaves the files. |
| baked_hash | Text | | The spec fingerprint the bake was simulated from — every sim knob, the emitters, the forces, the domain. Shading and render knobs are not in it, so a look change never stales the volume cache: bake the motion, keep shading live. |
| baked_range | Text | | The frames the bake covers. Outside them the sim runs live. |
| baked_loop | Text | | Written by the Bake: the loop length the frames on disk close over, or empty for a plain bake. The cook wraps playback by it. |
| disabled | Bool | false | Bypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back. |
| label | Text | | A note shown under the node in the graph — what this node is FOR. Never affects the render or the cache. |
| hide_input | Bool | false | Draw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap). |