
ANR 3D scene fire
Fire and smoke that start from the 3D scene of your shot, its meshes and particles, simulated in the Studio window and rendered in Nuke through your camera.
- Simulations
- Simulations pack
- 5 inputs
- 98 controls
Overview
Scene Fire sets fire to the 3D scene behind your plate. Connect geometry or particles to Source and your shot camera to Camera, and the node imports a frame range of them into Studio, a separate editor window. There you choose what burns and what blocks the smoke, add lights and forces, and simulate. Save & Exit in Studio publishes the result back to the node, and Nuke renders the saved fire and smoke through the camera.
Use it when the fire has to come from the scene itself: a burning car from its model, flames over an object's surface or from a particle system, smoke that wraps around a building. Catchers geometry receives the smoke's shadows and the fire's light as layers you can comp, and can block the simulation.
Simulation happens only in Studio. In Nuke the node plays the published result, so scrubbing and rendering never re-simulate, and the Look, Light, Render, Transform and Camera tabs change only the picture. Edits to the scene upstream go into Studio with Update from Nuke.
Everything the node imports and simulates lives in its Project folder, which you set first. Bullet Time freezes the published fire on one frame while the camera, the lights and the look keep moving.
Inputs
- Footageoptional
The plate. Studio shows it behind the scene through the scene camera so you can line things up, and Output view can show it; it is never baked into the fire. Show footage input adds a labelled connector for it.
- Sourcerequired
What emits: geometry (a mesh, a ReadGeo, a Card or a Sphere), a particle system, or a Scene joining both. Mesh texture alpha and particle opacity scale the emission. Particle sources need NukeX or Nuke Studio.
- Cameraoptional
Your shot camera, a perspective Camera with default window controls. Studio imports it, and after Save & Exit Nuke renders the fire through it, so the effect lines up with the plate.
- Environmentoptional
Optional linear latitude-longitude HDR image, imported into Studio for broad ambient light on the smoke.
- Catchersoptional
Optional geometry that catches the effect: by default it collides with the simulation, hides the fire behind it and receives the smoke's shadows and the fire's light (the Shadow and Fire light layers). Show catcher connector adds a labelled connector for it.
Output. RGBA of the published fire and smoke, transparent around it, ready to merge over the plate. Render > Output & layers adds named layers (fire, smoke, shadow, fire light and more) beside the beauty. Output view settings other than Simulation add the footage or the model, for checking only.
Quick start
- Add ANR 3D scene fire and set Project folder on the Studio tab first.
- Connect what burns to Source, your shot camera to Camera and the plate to Footage (Show footage input adds a connector). Environment and Catchers are optional.
- Set First frame and Last frame: the range Studio imports, at most 2,001 frames.
- Click Open UI. The range is imported, with a progress bar, and Studio opens in its own window.
- In Studio, choose which objects are sources and which are collisions, add lights and forces, set up the simulation and simulate.
- Click Save & Exit in Studio. The node plays the result in Nuke, and Status shows its frame range.
- Grade on Look and Light, turn on the layers you need on Render, and merge the result over the plate. Keep Output view on Simulation for the final.
- After changing the scene, the camera or the plate in Nuke, click Update from Nuke to bring the changes into Studio, then simulate again.
The panel
The node's panel as Nuke shows it, with the values of a new node. Click any control to see what it does; tabs and sections work as in Nuke.
Bullet Time, the project folder, Output view, opening Studio, updating from Nuke, the import range and the mesh sampling.
Source accepts geometry, particles or a Scene containing both. Optional: Environment and Catchers geometry. Create lights inside Studio.
The selected frame range is imported once. Studio playback and simulation run independently.
Save & Exit publishes the result for Nuke rendering. Update from Nuke reimports changed inputs.
Geometry exports as animated Alembic. Camera, particles and footage are cached for independent editing.
Set the range, then Open UI. Use Update from Nuke after upstream edits.
GPU scheduling and what plays after the last published frame.
Smoke density and colour, flame brightness and colours, without re-simulating.
Which simulated temperature gets the hottest flame colour.
Sky light, the fire's light inside the smoke, ambient and key light.
Direction of the key light and how strongly the smoke scatters it forward.
The environment light, the brightness of the scene lights made in Studio, and the catcher shadows.
Render quality, the extra layers, render-time detail and distortion, smoothing, projection and the view.
Ray step and shadow samples: finer is slower.
Move, rotate and scale the published volume, with Viewer handles.
The stored camera track, the 3D point preview, and reading a camera track directly from a Camera.
Camera edits need a re-read. Disconnecting keeps the stored track.
Use Camera > Use camera track to switch back to the built-in view.
No control matches.
All controls
Studio16 controls
Bullet Time, the project folder, Output view, opening Studio, updating from Nuke, the import range and the mesh sampling.
- Bullet TimeCheckbox
bulletTime Freezes the simulation at the Freeze at frame. The camera, the volume transform, the lights and the look keep following the timeline, so you can fly around the frozen fire. Holding a frame costs no simulation time. Ticking it freezes at the current frame. Animate it off to let the simulation go on. Works live and on Read cache.
- Freeze atSlider
bulletFrame The simulation frame Bullet Time holds. Before it the simulation plays normally; from it on the fire stays still. Animatable.
- Project folderFile
captureFolder Required. Scene assets, editor project and simulation caches live beneath this folder.
- Project FPSSlider
studioFps The script's frame rate, which Studio plays and simulates at.
- Output viewMenu
viewerDisplay Viewing helper. Simulation preserves the normal transparent output and layers. Other modes include the connected footage/model in the output; choose Simulation for final passes. Models use the connected Nuke geometry/camera, before Studio edits.
- Open UIButton
openStudio Imports the First frame to Last frame range of the connected inputs into the project folder, the first time or where frames are missing, then opens Studio. Studio then works on its own: it does not move Nuke's timeline or ask Nuke to render.
- Update from NukeButton
updateStudio Imports the inputs again after you changed them upstream (or changed the frame range), then opens Studio. A cancelled import keeps the previous project and result.
- Load saved editor resultButton
applyStudio Loads the last result saved with Save & Exit in the project folder into this node, without simulating.
- Show catcher connectorButton
showCatcherInput Adds a labelled connector beside the node, wired to the Catchers input, to plug catcher geometry into.
- Show footage inputButton
showFootageInput Adds a labelled connector beside the node, wired to the Footage input, to plug your Read or plate into.
- StatusStatus
studioStatus What the node and Studio are doing: importing, Studio open, or the frame range of the saved result that plays.
- First frameSlider
captureFirst First frame of the range imported into Studio.
- Last frameSlider
captureLast Last frame of the range imported into Studio, at most 2,001 frames after First frame.
- Surface samplesSlider
meshSamples Samples per captured frame, shared across the connected mesh surfaces. Increase for fine texture alpha or large surfaces. Changes need Update from Nuke. Maximum 250,000.
- Use mesh texture alphaCheckbox
useMeshAlpha Cache the direct image input on Cube, Sphere, Cylinder or Card and sample its alpha using Alembic UVs. Material/shader networks inside merged geometry are not transferred. Turn off for opaque emission.
- Texture cache sizeSlider
meshTextureSize Maximum texture edge in pixels. 1024 is fast; increase for fine masks, or 0 for original resolution. Caches linear 16-bit RGBA PNG once on import; fast compression runs outside Nuke. Changes need Update from Nuke.
Advanced playback3 controls
GPU scheduling and what plays after the last published frame.
- GPU schedulingMenu
gpuScheduling Responsive leaves GPU time for the desktop. Maximum speed removes deliberate pauses and uses larger batches; desktop interaction may slow while calculating. Simulation quality is identical.
- After last frameMenu
cacheAfter What plays after the last cached or Studio frame: that frame held still, or nothing. Held frames keep render-only detail still.
studioAdvancedEnd
- StatusStatus
backendInfo What Nuke's playback is doing: which saved frame plays, or why a frame shows nothing.
Look12 controls
Smoke density and colour, flame brightness and colours, without re-simulating.
Smoke
- Smoke densitySlider
smokeDensity Flow render density multiplier. Increase for thick soot without re-simulating; combine with a dark smoke color.
- Smoke colorColour
smokeColor Colour of the smoke. Dark values give sooty black smoke, still lit by the fire.
- AbsorptionSlider
opacity Absorption along real paths through the smoke.
Fire
- Flame brightnessSlider
fireIntensity Emission integrated within the smoke volume.
- Fire colorMenu
fireColorMode Blackbody uses the cool/hot temperatures in Kelvin. Custom gradient uses the three color swatches below. Both share saturation and color bias.
- Fire saturationSlider
fireSaturation Flow flame color saturation; 0 is neutral and 1 preserves the chosen colors.
- Fire color biasSlider
fireColorBias Flow color-gradient distribution. Above 1 favors the cool flame color; below 1 favors the hot color.
Flame colors
- Cool temperature (K)Slider
kelvinMin Blackbody color at the low end of the temperature range.
- Hot temperature (K)Slider
kelvinMax Blackbody color at the high end of the temperature range.
- Custom coolColour
fireCool With Fire color set to Custom gradient: the colour of the coolest flame, at the tips.
- Custom midColour
fireMid With Custom gradient: the colour in the middle of the flame's temperature range.
- Custom hotColour
fireHot With Custom gradient: the colour of the hottest flame, in the core.
Temperature mapping1 control
Which simulated temperature gets the hottest flame colour.
- Temperature rangeSlider
temperatureRange Simulation temperature mapped to the hottest flame color.
Light9 controls
Sky light, the fire's light inside the smoke, ambient and key light.
- Sky intensitySlider
skyIntensity Smoke illumination from the upper sky dome. Density along each light ray occludes the sky. 0 is off and preserves previous renders; render-only.
- Sky colorColour
skyColor Colour of the sky light set by Sky intensity.
- Sky samplesSlider
skyLights Directions over the sky dome (Flow). Higher values soften directional sampling at extra render cost. Does not re-simulate. Legacy uses six directional lobes.
Internal fire light
- Fire illuminationSlider
fireLight Flow: colored flame light propagated through a sparse volume with absorption and approximate multiple scattering. Strength is independent of visible flame brightness.
- Light spreadSlider
fireLightRadius Spread of diffuse fire illumination as a fraction of domain width.
- Light penetrationSlider
scattering Diffuse light penetration into smoke. Flow reduces effective absorption when propagating multiply scattered fire light; this is a diffusion approximation.
Scene lighting
- Ambient fillSlider
ambient Environment illumination.
- Key lightSlider
keyLight Directional light with volume self-shadowing.
- Ambient occlusionSlider
ambientOcclusion Shadows within the volume under environment lighting.
Light direction4 controls
Direction of the key light and how strongly the smoke scatters it forward.
- Key direction XSlider
lightX Direction toward the light.
- Key direction YSlider
lightY Direction toward the light.
- Key direction ZSlider
lightZ Direction toward the light.
- Forward scatterSlider
anisotropy Directionality of scattering: 0 is isotropic, positive favors backlighting.
Environment map7 controls
The environment light, the brightness of the scene lights made in Studio, and the catcher shadows.
- Use environmentCheckbox
useEnvironment Connect a linear latitude-longitude HDR/EXR image to Environment. Flow adds broad ambient color; environment rotation and directional map lighting require Legacy OpenCL. Alpha is ignored and the background stays transparent.
- IntensitySlider
environmentIntensity Brightness of the connected linear latitude-longitude environment map.
- ExposureSlider
environmentExposure Environment exposure in stops; +1 doubles the light.
- Rotation YSlider
environmentRotation Rotate environment lighting around the volume's vertical axis, in degrees.
- Scene light gainSlider
sceneLightGain Brightness of captured 3D lights. Render-only. Point/spot falloff uses Nuke scene units; no scene geometry shadowing, smoke self-shadowing only.
- Shadow smoke densitySlider
catcherDensity Smoke density used only for catcher shadows. Independent from visible smoke density; lower values reveal lighter, finer shadows without changing beauty.
- Shadow softness (degrees)Slider
catcherSoftness Angular spread of the catcher shadow rays. 0 is sharp; increase to soften smoke shadows. Render-only; does not blur receiver alpha or change beauty.
Render22 controls
Render quality, the extra layers, render-time detail and distortion, smoothing, projection and the view.
- Render qualityMenu
renderQuality Render is full quality. Preview uses the same fast native volume renderer as Studio: cubic filtering at 320 pixels, without expensive lighting/detail passes. Output stays linear; the Nuke Viewer controls its display transform.
Output & layers
- FireCheckbox
passFire Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- SmokeCheckbox
passSmoke Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- ShadowCheckbox
passShadow Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- Fire lightCheckbox
passLight Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- Smoke external lightCheckbox
passSmokeExternal Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- Shadow without sourceCheckbox
passShadowNoSource Render this named layer alongside beauty. Unchecked passes are not rendered. RGBA always stays beauty.
- Build beauty from layersButton
buildBeauty Creates two Shuffles and a Plus Merge beside this node. Fire is additive (alpha 0); smoke carries the shared beauty alpha. No graph scan; this button runs only when clicked.
Post-sim detail
- Post-sim detailMenu
detailMode Flow: add procedural 3D detail to the existing volume and use finer ray sampling. Does not re-simulate, allocate an up-res grid, or recover missing physics. 4x costs more rendering time. Start with 2x and strength 0.5.
- Detail strengthSlider
detailAmount Flow render-only procedural volume detail. Smoothly approaches a bounded displacement at high strength. 0 restores the original render exactly; no re-simulation.
- Detail sizeSlider
detailSize Detail wavelength in authored density voxels. Smaller creates finer detail. This is volume-space shading detail, not advected high-resolution simulation.
Post-sim distortion
- Distortion amountSlider
distortionAmount Render-only 3D displacement in authored voxels. Fire, smoke and alpha warp together. 0 restores the original image exactly; no re-simulation. Larger values cost more ray sampling. Lighting fields move with the material; shadows are not re-solved. Surface passes and point snapshots stay undistorted.
- Feature sizeSlider
distortionSize Distortion noise wavelength in authored voxels. Larger creates broad rolling deformation; smaller creates fine edge breakup. Does not change simulation.
- Animation speedSlider
distortionSpeed Continuous volume-noise evolution per simulation second. 0 freezes automatic evolution. Render-only.
- EvolutionSlider
distortionEvolution Offset the 3D distortion pattern. Animate this to change distortion without changing simulation time. Render-only.
- Distortion seedSlider
distortionSeed Select a different deterministic 3D distortion pattern. Independent of the simulation seed.
Smoothing
- Volume filterMenu
volumeFilter Linear preserves more voxel detail. Smooth cubic uses positive B-spline reconstruction to soften voxel facets without sharpening rings. Filter width adds smoothing; 0 keeps the chosen base reconstruction. Flow honors both modes in Preview and Render. Legacy Preview uses linear sampling after its width filter.
- Extra smoothingSlider
filterWidth Extra volume smoothing radius in voxels. 0 keeps the selected base reconstruction. Applies in Preview and Render without changing the simulation; larger values soften more voxel detail.
3D placement
- ProjectionMenu
cameraProjection Flow: Automatic consistently uses Perspective, including at Simulation scale 1, to avoid shifting a source with depth when scale crosses 1. Explicit Orthographic cannot compensate apparent size with distance. FireSmoke source scaling also compensates current Orbit and volume placement; these edits re-simulate a scaled source even Unbounded. Position and Volume scale remain transforms of the finished volume.
View
Render sampling2 controls
Ray step and shadow samples: finer is slower.
- Ray step sizeSlider
rayStep Distance between ray samples in voxels. Lower gives finer rendering.
- Shadow samplesSlider
shadowSteps Samples through the volume toward the key light.
Transform11 controls
Move, rotate and scale the published volume, with Viewer handles.
- Position XSlider
volumeX Move the whole fire/smoke volume in world X. 1 equals the longest frame dimension at the reference plane. Does not move the emission source inside the simulation.
- Position YSlider
volumeY Move the whole volume in world Y. Positive moves up in the default view.
- Position ZSlider
volumeZ Move the whole volume in depth. In the default view positive is toward the camera, negative is farther away. Perspective makes closer volumes appear larger; Orthographic preserves apparent size. World axes rotate on screen when you orbit.
- Volume scaleSlider
volumeScale Uniform 3D scale about the simulation center. Independent of Position Z: enlarge a distant volume or shrink a nearby one. Keeps the simulation and internal shading in local coordinates; this is placement, not a physical re-scaling of fluid dynamics.
Viewer handles
- Viewer handlesCheckbox
showTransform Show volume transform controls over the 2D image viewer with this node's properties open. Enable viewer overlays. Drag previews the wireframe; release applies once. No external Axis is required.
Rotation
- Rotate XSlider
volumeRotateX Stored XYZ Euler orientation, applied X then Y then Z about the volume center. Viewer rings compose rotations around fixed world axes, so a world-axis drag can change multiple Euler values.
- Rotate YSlider
volumeRotateY Stored XYZ Euler orientation, applied X then Y then Z about the volume center. Viewer rings compose rotations around fixed world axes, so a world-axis drag can change multiple Euler values.
- Rotate ZSlider
volumeRotateZ Stored XYZ Euler orientation, applied X then Y then Z about the volume center. Viewer rings compose rotations around fixed world axes, so a world-axis drag can change multiple Euler values.
Scale
- Scale XSlider
volumeScaleX Scale along a fixed world axis, after volume rotation. Multiplied by uniform Volume scale. This transforms the rendered volume; Simulation scale changes the emitter physics instead.
- Scale YSlider
volumeScaleY Scale along a fixed world axis, after volume rotation. Multiplied by uniform Volume scale. This transforms the rendered volume; Simulation scale changes the emitter physics instead.
- Scale ZSlider
volumeScaleZ Scale along a fixed world axis, after volume rotation. Multiplied by uniform Volume scale. This transforms the rendered volume; Simulation scale changes the emitter physics instead.
Camera11 controls
The stored camera track, the 3D point preview, and reading a camera track directly from a Camera.
Tracked camera
- Use camera trackCheckbox
useTrackedCamera Use the imported perspective camera animation. Connect Camera and click Read camera track. Re-read after editing the camera. No live geometry expressions or Python during rendering.
Save & Exit stores Studio's camera here and turns this on, so the render follows your shot camera.
- Scene units per volume unitSlider
cameraWorldUnits One Position unit and one reference volume width equal this many tracked scene units. Position is in world space. The tracked camera replaces Orbit/Zoom and built-in Projection.
3D snapshot
- 3D point previewCheckbox
pointPreview Switch this node to a live 3D point-cloud output for placement. Use the 3D Viewer; the connected Camera is included. Turn off to return to beauty before rendering. Samples the existing volume, with no second solver. Coloring is a preview.
- Point budgetMenu
pointBudget How many points the 3D point preview uses: 16k is quicker, 65k shows more of the volume.
- Point thresholdSlider
pointCutoff Hide faint smoke/heat from the point preview only. Does not delete simulation voxels.
- Update 3D previewButton
updatePointPreview Capture the current saved volume as a small point snapshot, then switch the Viewer to 3D. Refresh after changing the frame, simulation or placement. Orbiting the snapshot does not run the solver.
- Point previewStatus
pointPreviewStatus Which frame the last 3D point snapshot shows.
- First frameSlider
cameraFirst First frame Read camera track reads from the connected Camera.
- Last frameSlider
cameraLast Last frame Read camera track reads.
- Read camera trackButton
readCamera Copies a classic perspective Camera's world transform and focal length. Four node lookups total, independent of range; no Python during playback. Standard lens window only; undistort the plate separately.
- TrackStatus
cameraTrackStatus Which camera and which frame range are stored on the node.
Tips
- Load saved editor result reconnects the last result saved in the project folder, for example after Nuke was closed while Studio was open.
- Surface samples sets how many emission points cover the meshes on each frame. Raise it for fine texture alpha or large surfaces, then click Update from Nuke.
- Turn Use mesh texture alpha off for an evenly burning surface; leave it on to burn only where the texture alpha of a Card, Cube, Sphere or Cylinder is.
- Turn on only the layers you need in Render > Output & layers: unticked layers cost no render time. Write EXRs with all channels. Build beauty from layers adds the Shuffles and the Plus merge that rebuild the beauty from fire and smoke.
- Shadow smoke density and Shadow softness (degrees) on Environment map change only the shadows on catchers, never the visible smoke.
- Update 3D preview on Camera shows the saved volume as points in the 3D Viewer, to check its placement against your scene. Turn 3D point preview off before rendering.
- Render quality Preview renders a small, fast image while you grade; switch back to Render for the final.
- Transform moves, rotates and scales the published volume without re-simulating; the scene lights stay where they are.
Good to know
- The node needs NukeX or Nuke Studio: it is built on Nuke's particle nodes, which plain Nuke does not include.
- Project folder: nothing is imported or simulated until Project folder is set to an absolute folder; there is no default. The imported scene, the Studio project and every simulation live inside it.
- Simulation happens only in Studio. Changes in Nuke reach it through Update from Nuke, and the result in Nuke stays as it is until the next Save & Exit.
- Frames after the last published frame show nothing, or the last frame held (Advanced playback > After last frame). A frame the result does not have renders empty, with a hint on the status line, rather than an older frame.
- Bullet Time freezes the published simulation at Freeze at (ticking it uses the current frame). The camera, the volume transform, the lights and the look keep following the timeline, so you can fly the camera around a frozen fire, and holding a frame costs nothing. Animate Bullet Time off to let the fire move again.
- Stopping a render in the Viewer loses nothing: the published simulation is kept, and the frame renders again next time.
- Studio imports perspective cameras with default window translate, scale and roll.
Something unclear or missing? Write to [email protected].