Overview
World rebuilds, for each pixel, the world 3D position from: (1) the Z depth read from the Z-depth channel, (2) the pixel coordinates in the image (which, combined with the camera FOV, give a ray direction), (3) the position and rotation of the camera. The result: a reconstruction of the full Position channel.
Essential when a render only exports Z-depth (common with Cycles, EEVEE, or game engines) - without the native Position channel, you cannot use Volume Fog or Volume Mask. The World node fills that gap.
Where to find this node
- Effects Library:
Tools > Position > World - Quick add: right-click in the Node Editor →
Add Tool > Position > World
Z-depth vs Position
- Z-depth (Z, depth)
- Scalar distance from the pixel to the camera. A single value per pixel. Often exported by default by 3D engines.
- World Position (P, world_pos)
- XYZ coordinates of the pixel in the 3D scene space. Three values per pixel. Richer, but it needs a dedicated AOV.
Conversion: Z-depth + camera parameters → World Position. The World node does exactly that, by inverting the camera projection.
Inputs
- Image (orange) - an image containing the Z-depth channel.
- Camera (green) - optional, but strongly recommended: a connection to a Camera 3D node whose parameters are read for the conversion. Otherwise, set them manually in Controls.
- Effect Mask (blue) - optional.
Setup
Z-depth → Position for Volume Fog:
EXR (Z only) → World (Camera connected)
→ Volume Fog (Position channel)
→ MediaOut
Game engine workflow (Unreal, Unity export):
Game render → Z buffer
→ World (camera parameters matched)
→ Volume Mask
→ localized Color Corrector
→ MediaOut
Camera 3D + World for automation:
Camera 3D ─┐
│
EXR Z ──── World ── Volume Fog → MediaOut
(camera transform read automatically)Controls tab
- Camera Position X / Y / Z (defaults: 0,0,0)
- Position of the camera in the 3D scene. It must match the render camera exactly. Read automatically if the Camera input is connected.
- Camera Rotation X / Y / Z (defaults: 0,0,0)
- Euler rotation of the camera. Critical for precision: even a slight mismatch skews every reconstructed position.
- Field of View (default: 50)
- The camera's angle of view (in degrees or focal length depending on the convention). It must match the render. 50° ≈ a 35mm focal length on full frame.
- Z Channel (default: Z)
- The source channel for the Z-depth. Depending on the naming: "Z", "depth", "z_depth" (varies by engine).
- Z Mode (default: Distance)
- Type of incoming Z-depth. Distance = Euclidean 3D distance, Linear Depth = linear Z component of the camera coordinate (varies by engine convention).
Use cases
- Renders without a P AOV - game engines, EEVEE, older Cycles: the World node lets you generate the Position from the available Z.
- Reusing archives - old files exported with Z but no Position: World makes them compatible with Volume Fog/Mask.
- Saving bandwidth - export Z (1 channel) rather than P (3 channels) → lighter EXR files, and you rebuild P when needed.
- Match Move + Position reconstruction - Camera Tracker + Z-depth Estimation + World = a reconstructed position for 3D-aware compositing on live action footage.
- Hybrid 2D/3D pipeline - 2D compositing enhanced with 3D capabilities through Z + World, without all the overhead of a full deep workflow.
Tips
- A connected Camera 3D node = ideal - it avoids duplicating the parameters by hand. Import the render camera through FBX or match the position/rotation/FOV manually.
- Check the Z Mode - Distance vs Linear Depth differ by engine: Cycles uses distance by default, EEVEE linear Z, Unreal normalized linear Z. Test it in visualization before using it.
- An exact FOV is critical - even 1° of error distorts the whole reconstructed position. Get the precise value from the EXIF or the 3D project settings.
- 32-bit float Z required - in 8/16-bit, the Z is quantized and the reconstruction creates 3D banding that shows up in Volume Fog.
- Prefer native P when available - if the render exports the Position channel directly, use it rather than rebuilding it through World. More precise (no camera rounding error).
- Visualize to debug - after World, connect a Position node in Visualization mode to check that the reconstructed coordinates are consistent (a clean gradient on all 3 axes).
- For live action workflows + AI Z estimation, World can be used on Z generated by MiDaS / DPT for pseudo-volumetric 3D-aware effects without a 3D render.
