PyroMetal PyroMetalDocumentation
macOS · Apple Silicon
PyroMetal logo

PyroMetal Documentation

The real-time fire, smoke & explosion studio for macOS. GPU-accelerated volumetric simulation, cinematic rendering and game-ready export — all in one app.

What is PyroMetal?

PyroMetal is a native macOS application for designing volumetric fire, smoke and explosion effects in real time. It runs a full 3D fluid simulation on the GPU using Metal, renders it with a cinematic volumetric ray-marcher, and exports production-ready output for film, motion graphics and game engines.

Everything is interactive: drag an emitter around the scene, spin sliders while the sim runs, keyframe a burst, and watch the explosion evolve at once. When the look is right, export a seamless-looping MP4, a flipbook sprite sheet, a PNG channel stack or a VDB volume sequence for Blender and Houdini.

Requirements

How this documentation is organized

💡

Press / anywhere in these docs to search. Every parameter in the app is indexed — try “vorticity” or “death burst”.

Start Here / Getting Started

Getting Started

From launch to your first explosion in five minutes.

The launch screen

PyroMetal opens on a project browser with two tabs:

💡

The examples double as templates. Open one that is close to your target effect, save it under a new name (⌘⇧S), and adjust from there.

Your first fire

  1. Click New Project. A default scene opens with one spherical emitter already burning.
  2. Press Space to play or pause the simulation. Press R to reset it to the start.
  3. Drag in the viewport to orbit the camera. The selected object shows a 3-axis gizmo — drag an arrow tip to move it along that axis.
  4. With the emitter selected, open the Scene tab of the right panel and find the Emission group. Raise Temperature for a brighter, more buoyant flame; raise Smoke for thicker soot.
  5. Switch to the Sim tab and enable Combustion if you want the full fuel-driven burning model (most examples use it).
  6. Save with ⌘S. Projects live as .mfsproj files and keep everything: objects, keyframes, render settings and export settings.

Projects, saving and autosave

The five-minute workflow

  1. Block the scene — add emitters, forces and colliders from the shelf at the bottom of the viewport.
  2. Shape the motion — tune buoyancy, vorticity and emitter outflow in the Sim tab while the sim runs live.
  3. Animate — keyframe emission pulses on the timeline for bursts and explosions (see Animation).
  4. Light & grade — set fire colors, environment and post effects in the Render tab.
  5. Frame & export — compose the shot in the Render Camera tab, then export from the Export tab (see Export).
🚀

Design fast, finalize heavy. Work at 64³ or 128³ resolution — the overall motion of the effect stays consistent across resolutions by design. For the final export, pick a higher simulation grid (up to 1024³) in the Export tab; it simulates offline while exporting.

Start Here / Interface Overview

Interface Overview

A tour of every panel in the editor.

Top bar

Viewport

Scene shelf

The shelf at the bottom of the viewport adds objects — click or drag-and-drop into the scene:

Inspector (right panel)

Four tabs at the top of the right panel:

TabContents
SceneThe outliner (object list) and the properties of the selected object — transform, emission, particles, colors, everything object-specific.
SimDomain size & position, physics parameters, the combustion model and grid resolution.
RenderRender quality, fire/smoke coloring, visual detail, post effects, lighting and the environment.
PerfPerformance switches: resolution, optimizations, solver options, shadow performance.

Outliner

The Scene tab lists every object in the scene. Each row has, next to the object icon and name:

Timeline (bottom panel)

Menus

Scene Building / Emitters

Emitters

Emitters are the sources of your effect — they inject smoke, heat, fuel and velocity into the simulation. Every parameter below lives in the emitter's properties card in the Scene tab.

Shapes

ShapeDescription
SphereThe classic point source. Sink it halfway under the ground for a flat burning pool.
BoxRectangular volume source — walls of fire, burning floors.
CylinderColumn source — pillars of flame, torches.
MeshAny imported 3D model, voxelized into an emission mask. The object emits from its actual shape. See Meshes & Materials.
ImageA PNG/JPEG imported from the shelf — emits smoke/fire in the image's shape and colors (a burning logo, for example).

All shapes support full position, rotation and size Keyframable ◇ — rotate a box emitter to tilt its jet, or keyframe position for a flying fireball.

Emission

The master group controlling what the source injects. Everything here is keyframable with the ◇ button next to each slider.

ParameterRangeDescription
Emission 0 – 3The master tap — scales smoke, fire and outflow together. 0 silences the source completely (fire and particles stop; what exists disperses naturally). Keyframe this for burst timing.
Smoke0 – 20How much smoke is injected. When combustion is enabled this becomes fuel injection — the material that burns.
Temperature0 – 20The fire's source. Higher = brighter, more buoyant flame. Smoke and fire are separate fields — you can have cold smoke or clean flame.
Outflow speed0 – 20How fast gas jets out of the source.
Blast (radial direction)0 – 10 = upward jet (torch) · 1 = radial burst from the center (explosion fireball).
Emission noise (lobes)0 – 1Breaks the emission surface into irregular lobes — explosions look chunky and organic instead of spherical.
Noise pattern2 – 14The spatial frequency of the emission noise (visible when noise > 0). Low = a few large lobes, high = many small ones.

Emission mode

ModeBehavior
AddInjection accumulates each step (default — natural build-up).
Add ClampedAccumulates but never exceeds the source value — prevents over-saturation in slow flows.
ReplaceWrites the source value directly — crisp, fully controlled cores.

Pressure

Extra pressure the source applies to its surroundings — the "push" of an explosion, independent of emission.

ParameterRangeDescription
Pressure -2 – 2Positive pushes outward (shock wave), negative pulls inward (suction). Keyframe a sharp positive pulse for blast moments.
Chaos intensity0 – 2Adds random fluctuation to the pressure — the explosion billows irregularly and naturally.
Chaos pattern2 – 20Spatial size of the chaos cells.
Chaos speed0 – 3How fast the chaos pattern evolves over time.
Seed0 – 100Different randomness per seed — two emitters with different seeds never pulse in sync.

Motion & cycle

ParameterRangeDescription
Velocity transfer0 – 1A moving source drags its smoke along. Set to 1 and keyframe the emitter's position: smoke streams behind it — a waved torch, a flying fireball. Fast-moving emitters are swept smoothly between frames, so there are no gaps in the trail.
Burst duration0 – 5 sPuts emission on an automatic on/off cycle — the source emits for this long, then goes silent. 0 = continuous emission.
Interval between bursts0 – 5 sThe silent gap between bursts (visible when burst duration > 0).

Per-emitter colors

Per-emitter combustion

With Custom combustion settings enabled, this emitter's fuel burns with its own character, overriding the global model locally: Ignition, Burn rate, Heat and Soot. Example: one source burns clean and fast (high burn rate, low soot) while another smolders dirty (low rate, heavy soot) — in the same scene.

Emit light

The Emit light toggle makes the emitter glow as a real light source — the surrounding smoke is illuminated by the fire itself. Ideal for muzzle flashes and explosions at night.

Particle output

Each emitter carries its own complete spark/ember system — see the dedicated Particles chapter for every parameter.

💡

Explosion recipe: Blast = 1, Emission noise ≈ 0.7, keyframe Emission from 2.5 → 0 within ~0.4 s, add a positive Pressure pulse, and enable combustion with expansion. The examples "Ground Explosion" and "Big Explosion" are built exactly this way.

Scene Building / Force Fields & Effectors

Force Fields & Effectors

Force fields push the flow around; effectors modify the smoke, heat and color fields inside a region. Both are spherical zones with a position, radius and strength.

Common parameters

ParameterRangeDescription
Strength 0 – 20 (Heater: -15 – 15)Force magnitude. Keyframable — pulse a radial field for a shockwave.
Radius 0.05 – 0.6The zone of influence. Falloff is smooth toward the edge.
Position / RotationFully keyframable. Rotation aims directional types (wind, line, toroidal).

Force types

TypeWhat it doesUse for
WindConstant push along the field's axis.Drifting smoke, storm scenes, flamethrower sweep.
VortexRotation around the field's axis — swirl strength grows with distance from the axis.Swirling smoke, spinning flame columns.
TurbulenceAnimated 3D noise force — chaotic stirring.Breaking up uniform plumes, adding restlessness.
Push/PullRadial force from the center — outward or inward.Shockwave pulses, suction effects.
LineFlow channeled along a line through the field — strongest near the axis.Jet streams, corridor drafts.
Toroidal (Ring)A vortex ring circulation around the field's axis.Smoke rings, mushroom-cloud roll.

Effectors

Effectors don't push the flow — they alter the fields inside their radius:

TypeWhat it doesUse for
Kill ZoneErases smoke/heat passing through the region.Clipping the top of a plume, keeping a window clear.
Heater/CoolerAdds (or with negative strength removes) heat inside the zone.Re-igniting rising smoke, chilling a region to kill flame locally.
ColorizerPaints passing smoke with the chosen Paint color.Magic color shifts mid-flow, chemical smoke.
💡

Combine one Turbulence (strength 1–2, large radius) with your key emitter in nearly every scene — a touch of chaos is what separates "CG smoke" from convincing smoke.

Scene Building / Colliders

Colliders

Solid obstacles the fluid flows around — and particles bounce off.

Shapes

Parameters

ParameterRangeDescription
Friction0 – 1Slows the flow along the surface — sticky, dragging boundaries.
Bounce0 – 1Repels the flow off the surface — energetic deflection.
Velocity transfer0 – 1A moving collider drags nearby smoke with it — keyframe the collider's position to stir the scene like a paddle.
ActiveToggles the object's effect on the simulation.
Hide in renderCollides but is not drawn — invisible walls to shape the flow.

Particles interact with colliders too: sparks land on and bounce off surfaces, respecting their friction and bounce values.

💡

Put an invisible box collider (Hide in render) just above a fire to squash the plume into a rolling ceiling of smoke.

Scene Building / Lights

Lights

Scene lights illuminate the smoke volumetrically, with self-shadowing.

Kinds

KindDescription
PointRadiates from a position with distance falloff. Place inside or near the effect for dramatic core lighting.
DirectionalParallel rays from a direction (aim with the object's rotation, up = +Y) — sun/moon key light.

Parameters

ParameterRangeDescription
ColorThe light's color — tint the smoke warm or cold.
Intensity 0 – 10Brightness. Keyframable — flicker a point light for firelight, flash it for an explosion.
Range0.05 – 1.5Point-light reach before falloff.

Up to 8 lights can shine at once. If the scene has none, a default key light (from the Render tab's light card) is used. Emitters can also glow themselves via Emit light — see Emitters.

💡

The classic setup: one warm point light buried at the fire base (keyframed flicker) + one cool directional rim from behind. See Rendering → Lighting for shadows and albedo.

Simulation / Particles

Particles

Sparks, embers and debris — a GPU particle system holding up to one million particles, fully coupled with the fluid: particles ride the flow, deposit smoke trails back into it, and bounce off colliders. All settings are per-emitter: select an emitter and open its Particle output group.

Core settings

ParameterRangeDescription
Enable particlesTurns this source's sparks on. Each emitter carries its own particle character.
Density0.01 – 5How many particles are born. Values above 1 push into the millions-class — dense glowing swarms.
Lifetime0.3 – 6 sHow long each particle lives (randomized around this value).
Size0.5 – 8Draw size of each spark.
Gravity0 – 12Pulls particles into ballistic arcs — and they bounce on the ground and on colliders. 0 = fully flow-driven embers.
Trail stretch0 – 1Motion streaks: particles are drawn stretched along their velocity. 0 = round points, 1 = long comet streaks.
Hide sparksThe particles keep simulating — debris trails, burning trails and death bursts all continue — but the spark billboards themselves are not drawn. Use particles as invisible "trail emitters".
Sprite textureAn optional PNG drawn on every particle instead of the built-in soft point. Scene-wide (shared by all emitters).

Launch

ParameterRangeDescription
Particle speed 0 – 30Launch velocity. Keyframable — pulse it for firework shells.
Spread0 – 10 = focused jet along the emitter's rotation axis · 1 = burst scattering in all directions.

Emission style

How new particles are distributed at birth:

StyleLook
UniformEven random spawning across the emitter shape — homogeneous spark spray.
ClumpedParticles are born in bundles that fly together — clusters of embers popping off a fire.
EntangledBorn along twisting strands — organic, fibrous streams of embers.

Bundle count 2 – 24 sets how many bundles or strands exist (visible for Clumped/Entangled). Particles spawn from the emitter's true shape — a rotated box emitter births sparks inside that rotated box.

Debris trails

One click and every particle leaves a real smoke/fire trail in the fluid as it flies — the trail is injected into the simulation and keeps evolving with it.

ParameterRangeDescription
Debris trailsMaster toggle (auto-enables particles for one-click use).
Trail density0.2 – 3How much material each particle deposits.
Burning trail (fuel)0 – 1The fraction of the trail deposited as fuel — with combustion on it ignites: rocket exhausts, firework rising trails.
Trail timing-1 – 1Where along the particle's life the trail is strongest: -1 birth · 0 even · +1 death.
Trail push0 – 1The trail also pushes the fluid along the particle's motion — trails carve their own wake.
Trail size (radius)0 – 3Each particle stamps a volumetric puff of this radius — thick billowing smoke columns instead of thin ribbons ("particle as emitter"). Large radius + many particles costs performance.

Death burst & fireworks

ParameterRangeDescription
Death burst0 – 3A dying particle explodes into a small fireball — fuel, heat and an outward push injected at its last position. Enabling auto-activates particles: one-click fireworks.
Death stars (count)0 – 100Chrysanthemum shells: a dying particle splits into N child stars that inherit its look and physics.
Star speed4 – 60Radial launch speed of the child stars.

Conditional spawning

ParameterRangeDescription
Spawn frozenParticles are born motionless and wake when local flow exceeds the wake threshold — glitter that ignites as the blast wave passes.
Wake threshold0.5 – 20Flow speed needed to wake a frozen particle.
Emit only when moving0 – 20Particles spawn only while the emitter itself moves faster than this — sparks that appear when you swing the torch.

Behavior notes

💡

Firework recipe: Gravity ≈ 5, Speed ≈ 20, Spread 1, Death burst 1.5, Death stars 30, Burning trail 0.8, Trail stretch 0.6. Keyframe Emission as a 0.2 s pulse. The "Fireworks" example is this exact setup.

Simulation / Simulation & Combustion

Simulation & Combustion

The Sim tab drives the physics: the domain, the fluid parameters, and the combustion model.

Domain

ParameterRangeDescription
Width / Height / Depth0.3 – 3.0World size of the simulation box per axis. A tall thin box for a column of smoke, a wide flat one for ground fire. The white wireframe in the viewport shows it.
PositionWhere the box sits in the world.
Emitter scale0.25 – 2.0Globally scales all emitter sizes — grow the box without growing the sources.
Auto-growThe box expands automatically when the effect approaches its walls — set and forget for explosions that outgrow their initial bounds.

Resolution

The voxel density of the simulation, chosen as voxels per world unit: 64³ (fast preview) · 128³ (balanced) · 256³ (finest live detail). The card shows an estimated memory figure.

🚀

Resolution consistency is engineered in. The gross motion, height and timing of your effect stay the same at every resolution — higher grids add detail, not different physics. Design at 64³, verify at 128³, export at up to 1024³ (set in the Export tab; higher grids simulate offline during export).

Physics

ParameterRangeDescription
Sim speed 0.1 – 2.0Time scale of the simulation — slow motion to double speed, keyframable for speed ramps.
Buoyancy 0 – 12How strongly hot gas rises. The main "energy" of a fire.
Weight 0 – 3Downward pull on dense smoke — heavy, sinking smoke vs. weightless haze.
Vorticity 0 – 20Reinforces small swirls the grid would otherwise smooth away — turbulent, licking flames. Too high looks noisy.
Detail turbulence 0 – 1Procedural curl-noise micro-turbulence applied to the smoke surface — the "boiling" fine detail of EmberGen-class sims, at any grid resolution.
Detail turbulence size0.3 – 3.0Spatial scale of that micro-turbulence.
Density dissipation0.95 – 1.0How long smoke lingers per step (1.0 = forever). 0.98 clears briskly, 0.995 hangs in the air.
Cooling0.9 – 1.0How fast heat fades. Controls flame height directly: lower = short licking flames, higher = tall rising fire.
Velocity dissipation0.95 – 1.0How long motion persists — high values keep swirls alive.
Smoke diffusion0 – 1Physical spreading of smoke into neighboring cells — soft, hazy edges.
Temperature diffusion0 – 1Heat spreading — softens the fire core and its buoyancy response.

Combustion

A realistic fuel-driven burning model. When enabled, emitters inject fuel instead of raw smoke; fuel that gets hot enough ignites, producing glowing flame, heat and soot. Regions that exhaust their fuel cool into dark smoke — this is where the natural fire→smoke transition comes from.

ParameterRangeDescription
Combustion strength0 – 2Master switch and overall intensity (0 = model off).
Ignition temperature0 – 1The threshold fuel needs to catch. Raise it and fire ignites reluctantly; lower it and everything torches instantly.
Burn rate0.1 – 3How fast fuel is consumed. High = sudden bright flash; low = long-lasting flame.
Heat output0 – 3Heat produced by burning — feeds brightness and rise.
Soot output0 – 3Smoke left behind by burning — "clean" vs. "dirty" burn.
Expansion (blast shock)0 – 2An outward pressure wave at the moment fuel ignites — the billowing punch of an explosion.
Flame amount 0 – 1Strength of the dedicated flame reaction channel — a separate short-lived field for crisp visible flame fronts, independent of the smoke body.
Flame lifetime0.05 – 1.5 sHow long a flame front stays visible after burning.
Flame brightness0 – 10Emission boost for the flame channel.

Individual emitters can override the burn character locally — see Emitters → Per-emitter combustion.

Solver

SettingDescription
Multigrid (V-cycle)The pressure solver. Fast and accurate — keep it on. V-cycles (1–4) trades a little speed for extra precision.
Sparse / AdaptiveSkips computation in empty regions. The image does not change; speed goes up — keep it on.
MacCormack advectionA higher-order advection scheme with sharper smoke edges and less blurring, at slight extra cost. Enable when you want maximum detail.
Look & Output / Rendering

Rendering

PyroMetal renders the volume with a cinematic ray-marcher: blackbody fire emission, self-shadowed smoke scattering, HDR bloom and a full post-effects suite. Everything lives in the Render tab.

Core render quality

ParameterRangeDescription
Density scale 1 – 80Optical thickness of the smoke — thin haze to impenetrable soot.
Emission strength 0 – 12Brightness of the fire's own glow.
Temperature scale 0.05 – 0.4Maps simulation heat to visible fire — the sensitivity of the fire ramp.
Max temperature (K)2000 – 12000The blackbody ceiling: 2000 K deep orange candle, 6500 K white-hot core, 12000 K blue-white plasma.
Fire opacity0.2 – 2How much the flame body occludes what's behind it — airy gas vs. dense plasma.
Step count (quality)32 – 256Ray-march samples per pixel. Higher = smoother gradients and cleaner thin smoke, at GPU cost.

Coloring

Visual detail

ParameterRangeDescription
Detail amount 0 – 0.6Procedural render-time noise etched into the smoke — extra texture without touching the sim.
Detail frequency1 – 16Spatial frequency of that noise.
Motion blur0 – 1Velocity-based blur — fast gas smears like a long-exposure photograph.

Exposure, bloom & vignette

ParameterRangeDescription
Exposure 0.2 – 4.0Overall scene brightness before tonemapping (filmic ACES).
Bloom strength 0 – 1.5HDR glow around bright fire.
Bloom threshold0.2 – 3.0How bright a pixel must be to bloom.
Vignette 0 – 1Darkened frame corners for focus.

Post-effects suite

A full grading stack applied after tonemapping:

EffectRangeDescription
Contrast0.5 – 1.6S-curve punch.
Saturation0 – 20 = monochrome, 2 = hyper-vivid.
Gamma0.4 – 2.2Midtone lift/crush.
Temperature (white balance)-1 – 1Cool ↔ warm cast.
Tint (white balance)-1 – 1Green ↔ magenta cast.
Hue shift-0.5 – 0.5Rotates the whole palette.
Sharpen0 – 1Edge enhancement.
Chromatic aberration0 – 1Lens color fringing at the frame edges.
Film grain0 – 1Animated photographic grain.
Kuwahara (oil paint)0 – 1Painterly stylization filter.
Pixelate0 – 1Retro mosaic.
Posterize0 – 1Banding into flat color steps — cartoon looks.
Halftone0 – 1Print-style dot pattern.

Lighting & shadows

ParameterRangeDescription
Light intensity 0 – 5The default key light's strength (used when the scene has no light objects).
Key direction (horizontal / vertical)0 – 2π · -1.5 – 1.5Aims the key light.
Smoke albedo0 – 1How much light the smoke reflects — bright white steam vs. light-eating soot.
Shadow steps0 – 24Self-shadow march quality (0 disables shadows).
Shadow density0 – 80How dark the self-shadowing gets.
Fast shadowsBakes the smoke's self-shadow once per frame into a volume — a big speedup with multiple lights, no visible quality loss. Recommended on.

Advanced scattering

ParameterRangeDescription
Anisotropic phaseForward-scattering glow — smoke lights up dramatically when lit from behind (silver-lining effect).
Phase g (direction)0 – 0.9Strength of that forward preference.
Multiple scatteringSoft inner glow from light bouncing within thick smoke — creamy, dense cores.
Scattering strength0 – 1Amount of that inner glow.
Emissive maskingCarves detailed flame fronts from the emission using density: crisp, textured fire edges. Tune with Mask strength, Density reference, Width and Flame texture sliders.

Environment

Viewing aids

Look & Output / Cameras

Cameras

Two cameras: a free viewport camera for working, and a render camera for framing the final shot.

Viewport camera

Render camera

The Render Camera tab shows exactly what will be exported, letterboxed to the export aspect ratio with composition overlays: action-safe (5%), title-safe (10%) and rule-of-thirds guides.

ParameterRangeDescription
FOV (vertical)20° – 90°Lens angle — tight telephoto to wide dramatic.
Camera shake 0 – 1Procedural handheld shake. Keyframe a spike at the blast moment for impact.
Shake frequency1 – 25Slow drift to violent rattle.
Aperture (DOF)0 – 0.15Depth-of-field blur amount (0 = off).
Focus distance0.2 – 8The sharp plane — rack focus by keyframing the camera moves around it.

The render camera's position and orbit are keyframable — animate sweeping moves around the explosion on the timeline.

Simulation / Animation & Timeline

Animation & Timeline

Any parameter with a ◇ button is keyframable — global physics, render settings, and every per-object property.

Keyframing

Interpolation modes

ModeBehavior
LinearConstant rate between keys.
EaseSmooth acceleration/deceleration (smoothstep).
HoldValue jumps at the key — stepped, mechanical changes.
BezierAuto-tangent smooth curve through the keys.

The Curve editor (Lane/Curve toggle on the timeline) graphs the animation with draggable points — fine-sculpt an emission pulse's exact shape.

Playback — one clock

Sim cache — bake & scrub

A live simulation can't be rewound — so bake it. Bake (⌘B or the timeline button) computes the whole timeline once and stores every frame in memory:

💡

The explosion workflow: keyframe Emission (master) as a sharp pulse — e.g. 2.2 at t=0, 0 at t=0.4 — plus a Pressure spike and a particle-speed spike at t=0. Everything stops emitting together, and the fireball clears naturally before the loop restarts.

Scene Building / Meshes, Images & Materials

Meshes, Images & Materials

Bring your own geometry: meshes can emit, collide and render with full PBR materials; images become shaped emitters.

Mesh emitters

Image emitters

Mesh colliders

Import a model as a collider (Collider → Mesh): it is voxelized as a solid and the flow navigates around it — smoke rolling over a statue, fire licking around an engine block. See Colliders for friction/bounce.

Surface rendering & PBR materials

Imported meshes render as real surfaces in the beauty pass, shaded with a physically-based (Cook-Torrance) material and lit consistently with the volume. Open the Material Editor to edit:

PropertyDescription
Base colorAlbedo color and/or texture map.
Metallic / RoughnessSliders or texture maps — from mirror chrome to chalky matte.
Normal mapAdds surface detail without geometry.
Packed ORMUse a single Occlusion·Roughness·Metallic texture with per-channel selection — the game-asset standard.
EmissiveColor + strength 0 – 10 — glowing panels, lava cracks.
Look & Output / Export

Export

The Export tab renders your effect offline — at its own resolution, its own simulation grid, and in multiple formats and channels. Exports run in the background with a live frame filmstrip and can be cancelled at any time.

Formats

FormatOutputUse for
MP4 VideoH.264 movie.Previews, motion graphics, straight-to-edit.
PNG SequenceOne PNG per frame, with alpha.Compositing (After Effects, Nuke, Resolve).
Sprite SheetA single texture atlas + JSON metadata.Game flipbooks — the chosen resolution is the total atlas; frames divide it evenly.
VDB Volume (Sequence)One .vdb per frame with density, temperature and color grids (sparse).Blender, Houdini and other 3D apps — re-light and re-render the volume anywhere. The Active threshold slider controls which voxels are written (lower = more detail, larger files).

Resolution

Background

ModeDescription
GradientThe scene's default gradient backdrop.
EnvironmentThe environment backdrop (sky/ground or HDRI) — matches the viewport.
BlackPlain black.
Green screenChroma green for keying in editors that lack alpha support (ideal for MP4).
TransparentTrue alpha channel (PNG/Sprite; falls back to black in MP4).

Render channels

Each selected channel exports as a separate file/sequence:

ChannelContents
BeautyThe final shaded image — fire, smoke, lights, post effects.
Alpha (Matte)Coverage matte for compositing.
Flames (emission only)Only the fire's own glow on black + alpha — a compositing layer you can grade independently.
Smoke (scatter only)Only the lit smoke, emission off — the flame layer's counterpart.
DensityRaw smoke density, grayscale.
TemperatureRaw heat field, grayscale.
FuelUnburned fuel coverage, grayscale.
NormalsCamera-space normal map derived from the density gradient — for relighting tricks.
DepthNormalized depth (near = bright).
Motion VectorsPer-pixel screen-space velocity — motion blur and frame interpolation in post, or game-engine flipbook blending.
Per-Light AOVs PNG onlyOne pass per light (0 = key light) on black + alpha — rebalance individual lights in comp.
6-Point Lighting PNG onlyTwo packed maps per frame for game-engine six-way smoke materials: A = Right/Left/Top in RGB (alpha = coverage), B = Bottom/Front/Back in RGB (alpha = emissive). Drop into UE/Unity 6-way materials for smoke you can relight at runtime.

Seamless loop

Loopable export crossfades the last frames into the first, producing a perfectly seamless cycle — essential for game flipbooks and looping ambience. Combine with a keyframed emission cycle for best results.

Running an export

🎮

Game VFX pipeline: export a Sprite Sheet (8×8 on a 4K atlas) with Loopable on for the flipbook, plus a PNG sequence with 6-Point Lighting and Motion Vectors for a fully relightable six-way material with smooth frame blending.

Reference / Performance

Performance

PyroMetal is built to stay interactive. These are the levers, roughly in order of impact.

Grid resolution

The single biggest cost. 64³-class grids are ideal for design; 128³ balances detail and speed; 256³ is the finest live grid. The Resolution card shows an estimated memory figure as you change it. Because motion is resolution-consistent, you lose nothing by designing low and exporting high.

Optimizations (viewport / render separate)

Each row has two checkboxes — one for the live Viewport, one for the Render (export):

OptimizationEffect
Empty-space skippingSkips empty regions hierarchically — zero visual change, keep it on everywhere.
Froxel lightingPre-solves lighting on a coarse grid — a big viewport speedup. Leave it off for exports for maximum quality.
TAATemporal anti-aliasing for the live view (viewport only).

Display pipeline

SettingEffect
Dynamic resolutionAutomatically adjusts render scale to hold frame rate when you zoom into dense smoke.
MetalFX upscaleGPU-accelerated spatial upscaling — render at a lower internal scale, present sharp.
EDR (HDR display)On HDR-capable displays, fire highlights push into extended dynamic range — genuinely bright flame.

Solver & shadows

Particles

Memory

Reference / Keyboard Shortcuts

Keyboard Shortcuts

Everything on one page.

Playback

KeysAction
SpacePlay / Pause — drives sim and animation together
RReset simulation and timeline to the start
⌘BBake the sim cache (then scrub freely)

Project

KeysAction
⌘NNew project
⌘OOpen project…
⌘SSave
⌘⇧SSave as…
⌘⇧HHome (project browser)

Editing

KeysAction
⌘Z / ⌘⇧ZUndo / Redo
⌘DDuplicate the selected object
FFocus the camera on the selected object
⇧FFrame the whole domain

Outliner gestures

GestureAction
Double-click nameRename the object in place
🔒 buttonLock — the object can't be moved in the viewport
👁 buttonEnable / disable the object
🗑 buttonDelete the object (undoable)
Reference / Tips & FAQ

Tips & FAQ

Answers to the questions everyone asks, and the habits of people who get great results fast.

Why does my fire keep burning after I set Smoke to 0?

Smoke (density) and fire (temperature) are separate fields. Setting Smoke to 0 stops the soot, not the heat. To silence a source completely, take the Emission master to 0 — it scales smoke, heat, outflow and particle spawning together, and what already exists disperses naturally.

My explosion looks like a rising plume, not a blast

The effect looks different when I change resolution

It shouldn't — and by design it doesn't: PyroMetal normalizes motion, emission and dissipation across grid resolutions, so the same project keeps the same height, timing and silhouette at 64³ and 256³. What changes is the amount of fine detail. If you want more turbulent detail without touching resolution, raise Detail turbulence (sim) or Detail amount (render).

How do I make a perfect loop?

  1. Keyframe your effect so emission returns to its starting value by the end of the timeline.
  2. Playback already restarts the sim identically on every loop — check the seam live.
  3. Export with Loopable export on: the tail crossfades into the head for a mathematically seamless cycle.

What's the fastest way to a specific effect?

Open the closest Example and read it like source code: check its emitter settings, its keyframe tracks, its combustion values. The library covers explosions (ground, air, chain, nuke), fires (campfire, wall, torch, wildfire), particles (fireworks, sparks, embers), atmospherics (fog, steam, sandstorm) and stylized looks (toon, magic).

Where do the game-engine exports fit?

Habits of fast PyroMetal artists

PyroMetal Documentation — real-time fire, smoke & explosion studio for macOS · Apple Silicon.