Skip to content
Voro
  1. Geometry
  2. Render

Volume

Unified Volume puts a density field into a scene as smoke, fire, cloud, gas or glow. It does not make the field. Another operator publishes that, such as a Warp FX whose source writes a density field. Unified Volume places the field in the world, gives it a look and hands it to Scene, which collects it like any Geometry.

Realtime Trace and Path Trace draw it. Surface Renderer skips it with a warning.

  1. Place Unified Volume from the Geometry view of the Voro menu, under Render. It is a Geometry COMP.
  2. On its Resources page, set the first Connections row’s Type to the density input and pick the field in Resource. The list offers what other operators publish, named after the operator and its output. Pulse Refresh Resource List after you add a new producer. The row’s Status says whether the field resolved.
  3. Add rows for a temperature field and a velocity field if your producer publishes them.
  4. Pick a Volume Look on the Volume page.
  5. Add the Unified Volume to your Scene’s Geometry selection and keep its render flag on.

Move, turn and scale the volume on its Xform page, like any Geometry COMP. The field’s shape and motion come from its producer, so change those there.

density is required. Without it Unified Volume stops with an error asking for a Density Field. temperature is optional and drives heat-coloured emission in the looks that glow. velocity is optional. Only Realtime Trace reads it, to blur the volume by its own motion when Shutter is set on its Lens page. Velocity alone draws nothing.

transform comes from the COMP’s own Xform, so you do not connect it in TouchDesigner.

A field is a dense grid of up to 256 cells on each axis, with finite bounds. A field rotated or stretched so that it would span more than 256 cells along a world axis is refused.

scene carries the volume to the Scene.

Volume page:

  • Volume Look sets how the density scatters and glows: neutral, smoke, fire, cloud, nebula, cel, godray or ptgas. The looks are starting points that the controls below adjust. Cloud scatters without glowing, so use an emissive look for a field that should glow.
  • Density Scale and Extinction set how thick the volume is. Scatter Albedo is the colour of the light it scatters. Anisotropy (g) leans scattering forward, toward positive values, or back. Ambient is a fill light inside the volume.
  • Emission Color and Emission Scale make it glow. Emission Scale starts at 0.
  • Heat Lo, Heat Hi and Heat Gamma remap the temperature field to 0 to 1. Heat Lo must stay below Heat Hi. Emit Cold and Emit Hot colour the glow from the cool end of that range to the hot end.
  • Gas Extinction, Gas Albedo, Tint and Emission Hype set the ptgas look. With no temperature field, ptgas takes its heat from density, measured against Density Max.
  • Detail Amount, Detail Freq, Detail Octaves and Detail Speed break up the density with noise, which Detail Speed animates.
  • Emission Light Reach and Emission Light Gain set how far and how strongly the glow lights surfaces in Path Trace. Realtime Trace lights the scene from the volume with its own Volume Light control instead.

Cloud page:

  • The Cloud controls shape the cloud look’s scattering: its back lobe, multiple scattering, powder darkening, silver lining at the edges, body fill and sky tint, and how much sun, sky and the volume’s own glow light it.
  • Domain Window fades the density near the faces of the field’s box, so the box edge never shows where volumes overlap. 0 turns it off.

Advanced page:

  • These set how Path Trace integrates the volume: the Froxel W, H and D grid, the Z Near to Z Far depth range it covers, Self-Shadow Steps and Shadow Density, Occupancy Eps, and the ELF Resolution and ELF Iterations of the light the glow casts. Z Near must stay below Z Far. Realtime Trace marches the field itself and sets its volume quality on its own Medium page.

Rays page:

  • Camera, Shadows, Indirect and Emits Light decide which rays see the volume, in Realtime Trace only. With Emits Light off, the volume glows where you see it and lights nothing.

A scene holds up to 16 volumes, each with its own bounds, transform and look.

Apart from the two Emission Light controls, the Volume and Cloud pages mean the same in Realtime Trace and Path Trace.

In Realtime Trace, volumes cast shadows on surfaces. A glowing volume is also a light like any emissive surface, and lights surfaces, other volumes and itself.

Inputs

  • density density field required
  • temperature temperature field
  • velocity velocity field
  • transform row

Outputs

  • scene scene required

Advanced

Froxel W (Froxw) Int op('unified_volume').par.Froxw
Default:
160
Range:
8 to 256
Froxel H (Froxh) Int op('unified_volume').par.Froxh
Default:
90
Range:
8 to 256
Froxel D (Froxd) Int op('unified_volume').par.Froxd
Default:
128
Range:
8 to 256
Z Near (Znear) Float op('unified_volume').par.Znear
Default:
0.1
Range:
0.001 to 50
Z Far (Zfar) Float op('unified_volume').par.Zfar
Default:
20
Range:
0.1 to 2000
Occupancy Eps (Occupancyeps) Float op('unified_volume').par.Occupancyeps
Default:
0.0001
Range:
0 to 1
Self-Shadow Steps (Shadowsteps) Int op('unified_volume').par.Shadowsteps
Default:
0
Range:
0 to 32
ELF Resolution (Elfresolution) Int op('unified_volume').par.Elfresolution
Default:
48
Range:
8 to 128
ELF Iterations (Elfiterations) Int op('unified_volume').par.Elfiterations
Default:
64
Range:
1 to 256

Volume

Density Scale (Densityscale) Float op('unified_volume').par.Densityscale
Default:
1
Range:
0 to 32
Extinction (Sigmat) Float op('unified_volume').par.Sigmat
Default:
2
Range:
0 to 64
Scatter Albedo (Scatalbedor) Float op('unified_volume').par.Scatalbedor
Default:
0.9
Range:
0 to 1
Scatter Albedo (Scatalbedog) Float op('unified_volume').par.Scatalbedog
Default:
0.92
Range:
0 to 1
Scatter Albedo (Scatalbedob) Float op('unified_volume').par.Scatalbedob
Default:
0.96
Range:
0 to 1
Anisotropy (g) (Anisotropy) Float op('unified_volume').par.Anisotropy
Default:
0.3
Range:
-0.95 to 0.95
Ambient (Ambientr) Float op('unified_volume').par.Ambientr
Default:
0.04
Range:
0 to 1
Ambient (Ambientg) Float op('unified_volume').par.Ambientg
Default:
0.05
Range:
0 to 1
Ambient (Ambientb) Float op('unified_volume').par.Ambientb
Default:
0.07
Range:
0 to 1
Shadow Density (Shadowdensity) Float op('unified_volume').par.Shadowdensity
Default:
1
Range:
0 to 8
Emission Color (Emissionr) Float op('unified_volume').par.Emissionr
Default:
1
Range:
0 to 1
Emission Color (Emissiong) Float op('unified_volume').par.Emissiong
Default:
0.4
Range:
0 to 1
Emission Color (Emissionb) Float op('unified_volume').par.Emissionb
Default:
0.1
Range:
0 to 1
Emission Scale (Emissionscale) Float op('unified_volume').par.Emissionscale
Default:
0
Range:
0 to 16
Volume Look (Look) Menu op('unified_volume').par.Look
Default:
0
Options:
neutral, smoke, fire, cloud, nebula, cel, godray, ptgas
Kelvin Lo (Kelvinlo) Float op('unified_volume').par.Kelvinlo
Default:
900
Range:
500 to 16000
Kelvin Hi (Kelvinhi) Float op('unified_volume').par.Kelvinhi
Default:
2000
Range:
500 to 16000
Brightness Falloff (Bbfalloff) Float op('unified_volume').par.Bbfalloff
Default:
0.35
Range:
0 to 1
Gas Extinction (Gasextinction) Float op('unified_volume').par.Gasextinction
Default:
1
Range:
0 to 64
Gas Albedo (Gasalbedo) Float op('unified_volume').par.Gasalbedo
Default:
0.8
Range:
0 to 1
Tint (Tintr) Float op('unified_volume').par.Tintr
Default:
1
Range:
0 to 1
Tint (Tintg) Float op('unified_volume').par.Tintg
Default:
1
Range:
0 to 1
Tint (Tintb) Float op('unified_volume').par.Tintb
Default:
1
Range:
0 to 1
Emission Hype (Emishype) Float op('unified_volume').par.Emishype
Default:
0
Range:
0 to 32
Heat Lo (Heatlo) Float op('unified_volume').par.Heatlo
Default:
0
Range:
0 to 1
Heat Hi (Heathi) Float op('unified_volume').par.Heathi
Default:
1
Range:
0 to 2
Heat Gamma (Heatgamma) Float op('unified_volume').par.Heatgamma
Default:
1
Range:
0.1 to 4
Density Max (Densitymax) Float op('unified_volume').par.Densitymax
Default:
1
Range:
0.01 to 64
Emit Cold (Emiscoldr) Float op('unified_volume').par.Emiscoldr
Default:
0.3
Range:
0 to 1
Emit Cold (Emiscoldg) Float op('unified_volume').par.Emiscoldg
Default:
0.05
Range:
0 to 1
Emit Cold (Emiscoldb) Float op('unified_volume').par.Emiscoldb
Default:
0
Range:
0 to 1
Emit Hot (Emishotr) Float op('unified_volume').par.Emishotr
Default:
1
Range:
0 to 1
Emit Hot (Emishotg) Float op('unified_volume').par.Emishotg
Default:
0.7
Range:
0 to 1
Emit Hot (Emishotb) Float op('unified_volume').par.Emishotb
Default:
0.3
Range:
0 to 1
Detail Amount (Noiseamp) Float op('unified_volume').par.Noiseamp
Default:
0
Range:
0 to 1
Detail Freq (Noisefreq) Float op('unified_volume').par.Noisefreq
Default:
2
Range:
0 to 32
Detail Octaves (Noiseoct) Int op('unified_volume').par.Noiseoct
Default:
4
Range:
1 to 8
Detail Speed (Noisespeed) Float op('unified_volume').par.Noisespeed
Default:
0
Range:
0 to 8
Emission Light Reach (Elfreach) Float op('unified_volume').par.Elfreach
Default:
2
Range:
0.01 to 100
Emission Light Gain (Elfgain) Float op('unified_volume').par.Elfgain
Default:
1
Range:
0 to 16

Cloud

Cloud Back Lobe (Cloudg2) Float op('unified_volume').par.Cloudg2
Default:
-0.25
Range:
-0.95 to 0
Cloud Lobe Blend (Cloudlobeblend) Float op('unified_volume').par.Cloudlobeblend
Default:
0.5
Range:
0 to 1
Cloud MS Octaves (Cloudmsoct) Int op('unified_volume').par.Cloudmsoct
Default:
3
Range:
1 to 6
Cloud Powder (Cloudpowder) Float op('unified_volume').par.Cloudpowder
Default:
0.35
Range:
0 to 1
Cloud Silver Gain (Cloudsilver) Float op('unified_volume').par.Cloudsilver
Default:
1.4
Range:
0 to 8
Cloud Silver Sharp (Cloudsilverpow) Float op('unified_volume').par.Cloudsilverpow
Default:
8
Range:
1 to 32
Cloud Body Fill (Cloudbodyfill) Float op('unified_volume').par.Cloudbodyfill
Default:
0.5
Range:
0 to 2
Cloud Sky Tint (Cloudskytint) Float op('unified_volume').par.Cloudskytint
Default:
0.5
Range:
0 to 8
Cloud Light Gain (Cloudlightgain) Float op('unified_volume').par.Cloudlightgain
Default:
1
Range:
0 to 1
Cloud Env Gain (Cloudenvgain) Float op('unified_volume').par.Cloudenvgain
Default:
1
Range:
0 to 1
Cloud ELF Gain (Cloudemfgain) Float op('unified_volume').par.Cloudemfgain
Default:
1
Range:
0 to 1
Domain Window (Domainwindow) Float op('unified_volume').par.Domainwindow
Default:
0.12
Range:
0 to 0.5

Rays

Camera (Raycamera) Toggle op('unified_volume').par.Raycamera
Default:
On
Options:
Off, On
Shadows (Rayshadows) Toggle op('unified_volume').par.Rayshadows
Default:
On
Options:
Off, On
Indirect (Rayindirect) Toggle op('unified_volume').par.Rayindirect
Default:
On
Options:
Off, On
Emits Light (Rayemit) Toggle op('unified_volume').par.Rayemit
Default:
On
Options:
Off, On