Overview
An image from a 3D renderer often contains more than RGBA: auxiliary channels that encode technical data (depth, normals, motion). These channels are not visible by default in the viewer - you have to copy them into the RGB channels to see them.
Copy Aux does exactly that: it moves an aux channel to RGB for viewing or use, or the other way around (writing RGB data into an aux channel).
A key advantage: static normalization. Copy Aux sets the values once and for all, avoiding the flicker that dynamic normalization (like Auto Gain) produces on an animated sequence.
Where to find this node
- Effects Library:
Tools > Color > Copy Aux - Quick add: right-click in the Node Editor →
Add Tool > Color > Copy Aux
Auxiliary channels (AOVs)
A multi-channel EXR from a 3D render can contain:
- BgColor - background color per pixel.
- Z-depth - distance to the camera (float values).
- Texture Coordinates (UV) - UVs encoded as color (for re-texturing in post).
- Coverage - sub-pixel anti-aliasing coverage.
- Object ID - numeric object identifier.
- Material ID - numeric material identifier.
- Normals - surface orientation (X/Y/Z encoded as RGB).
- Motion Vectors - per-pixel displacement (for Vector Motion Blur).
- Back Vectors - vectors from the previous frame.
- World Position - the pixel's 3D world position (XYZ).
Inputs
- Input (orange) - required. A 2D image containing the auxiliary channels (typically a multi-channel EXR
Loader). - Effect Mask (blue) - optional. Limits the operation to an area.
Setup
Typical workflow: viewing a Z-depth.
Loader (multi-channel EXR) → Copy Aux (Aux to Color, Z-depth) → Viewer
Or reverse it to write RGB data into an aux channel:
MediaIn + custom Z (from a 2D node) → Copy Aux (Color to Aux, Z-depth) → Renderer downstream
Controls tab
- Mode
- Aux to Color - copies the auxiliary channel into RGBA to view/manipulate it. The most common use.
- Color to Aux - copies the visible RGBA channels into an auxiliary channel. Useful to rebuild a Z pass from 2D.
- Aux Channel Menu
- Selects which aux channel to read/write. The display adapts to the number of components:
- 1 component (e.g. Z-depth) → shown as
zzz1(gray) - 2 components (e.g. Texture Coords) →
uv01 - 3 components (e.g. Normals) →
abc1 - 4 components →
abcd
- 1 component (e.g. Z-depth) → shown as
- Output Color Depth
- Match Aux Channel Depth - keeps the float32/int16 of the aux channel.
- Match Source Color Depth - keeps the original depth of the input image.
- Force Float32 - promotes everything to 32-bit float. Safe to avoid any loss.
- Channel Missing
- Handles the case where the selected aux channel does not exist: either the node fails, or a default value is used.
- Kill Aux Channels
- Removes the aux data once the copy is done. Upside: it frees memory and improves the playback cache for long sequences. Downside: the aux channels are no longer available downstream.
- Enable Remapping
- Rescales the aux channel values into a configurable range. See the dedicated section.
Remapping: adjusting value ranges
Aux channels often have very different ranges: a Z-depth can go from 0 to 1000, normals from -1 to 1, an Object ID from 0 to 65534. To view them cleanly in RGB (normally [0, 1]), you need to rescale them.
Enable Remapping turns on two parameters:
- From: input range (e.g. [-1, 1] for normals).
- To: output range (typically [0, 1] for viewing).
Example: to convert Normals (range [-1, 1]) into an RGB view (range [0, 1]): From = [-1, 1], To = [0, 1]. Normals pointing toward +X become red, +Y green, +Z blue - the standard layout of a "normal map".
Copy Aux vs Channel Booleans
- Channel Booleans
- Works channel by channel (R, G, B, A individually). Very granular. Does not handle bit-depth promotion.
- Copy Aux (this node)
- Works on groups of channels (a whole aux channel). Automatically promotes the bit depth to float32 when needed. Built-in remapping. Static normalization (no flicker on a sequence).
Rule: Copy Aux to manipulate the aux channels of a 3D render. Channel Booleans for custom channel routing or math operations.
Use cases
- Viewing a Z-depth - Aux to Color mode, Channel = Z-depth, Enable Remapping so the Z is readable in [0, 1]. Near objects show as black and far ones as white (or the reverse, depending on convention).
- Extracting a matte by Object ID - Aux to Color, Channel = Object ID. Each object appears with its ID encoded. Threshold, then
Channel Booleansto extract the matte of a specific object. - Preparing motion vectors - Aux to Color, Channel = Motion Vectors. The vectors are now visible as an image and usable by
Vector Motion Blur. - Normal map viewing / debugging - Normals + Remapping [-1, 1] → [0, 1] = a classic colored normal map.
- Rebuilding a Z from a 2D matte - Color to Aux, Channel = Z-depth. Lets you inject a Z built from a noise or a gradient to feed nodes that consume Z (e.g.
Vari Blur). - Optimizing the cache on long sequences - turn on Kill Aux after copying the channel you need. Fusion frees the RAM of the other aux channels → smoother playback.
Tips & pitfalls
- Remapping Normals [-1, 1] → [0, 1] is the most used setting. Save it as a preset to reuse it quickly.
- Kill Aux = long sequence optimization - turning it on for a 1000+ frame sequence frees a lot of RAM. But do not turn it on if other downstream nodes still need the aux channels.
- Static normalization vs Auto Gain - on an animated sequence, prefer Copy Aux (fixed values in From/To) over Auto Gain (which recalculates per frame and causes flicker).
- Converting float → int = clipping - be careful not to force the Output Color Depth to 8-bit if the aux channel contains values > 1 (Z-depth, normals, world position). Prefer Force Float32.
- To see a correctly mapped Z,
Auto Gainwith Do Z enabled can be quicker than a Copy Aux with remapping - but watch out for flicker in animation. - Save the settings of your remappings per channel type - Fusion lets you save parameters for recurring use.
