October 25, 2026 Kelly Nguyen

Houdini to Nuke and Beyond: Getting AOVs and EXRs Right the First Time

EXECUTIVE SUMMARY // KEY TAKEAWAYS
  • Choose the Right AOVs in Karma:
    Use Karma Standard Render Vars for common lighting and utility passes, Additional Render Vars for custom LPEs, and Karma AOV VOP for supported shader outputs in XPU. Export only the passes your compositing team needs to avoid unnecessary data and processing overhead.
  • Bit Depth and EXR Compression Matter:
    16-bit float is often sufficient for beauty and lighting passes, while precision-sensitive data such as Position and Depth may require 32-bit float. Use lossless compression for critical data channels and consider DWAA for color passes when lossy compression is acceptable.
  • Cryptomatte and OpenEXR Organization:
    Set up Cryptomatte through the Karma Cryptomatte LOP and verify its layers and manifest in Nuke. Choose between single-part EXRs, multi-part EXRs, or separate render products based on your team’s channel access, compression, and delivery requirements.
  • Validate Your EXRs Before Farm Rendering:
    Render one representative frame and inspect its channels, lighting passes, Position, Depth, motion vectors, and Cryptomatte in Nuke. Check file size and memory requirements before submitting a full sequence. Remote GPU workstations such as iRender allow artists to configure Houdini and Nuke for these checks.

Your Position pass is missing in Nuke, Cryptomatte won’t pick an object, and your EXR file is larger than expected. These problems can start long before compositing, from how AOVs are configured in Houdini to how their channels and metadata are interpreted in Nuke. Karma CPU and XPU also differ in AOV support, making it important to check your render settings before committing to a sequence. This guide covers Houdini AOV and EXR workflows, including Render Vars, bit depth, Cryptomatte, and practical checks to catch problems before the final render.

The AOV setup that saves your comp artist a day

A reliable Houdini-to-Nuke workflow starts with four rules:

  1. Export only necessary AOVs: Keep the passes your compositing team actually needs.
  2. Choose the right precision: Use 32-bit float for precision-sensitive data passes such as Position and Depth. Consider 16-bit float for lighting passes.
  3. Match compression to the pass: Prefer lossless compression for data channels.
  4. Set up Cryptomatte separately: Use the Karma Cryptomatte LOP rather than treating it as a standard lighting AOV.

Before rendering the full shot, open one EXR frame in Nuke and verify its channels, values, and Cryptomatte selections.

Choosing AOVs in Karma: Standard Render Vars, LPEs and custom AOVs

In Houdini Solaris, the Karma Standard Render Vars LOP provides ready-made AOVs for beauty, diffuse, glossy reflections, emission, volumes, and utility data such as Position, Normal, and Depth. Start with the passes your compositor needs rather than enabling everything.

For custom lighting passes, use Additional Render Vars with Light Path Expressions (LPEs). Enable Split per LPE Tag when you need separate contributions from tagged lights. This creates additional AOVs, so use it selectively.

For shader-driven custom AOVs in Karma XPU, use the Karma AOV VOP. XPU supports LPEs and custom outputs, but not every Karma CPU feature is available in XPU.

Recommended AOV Passes for Compositing

Essential and optional AOV passes, their recommended compositing applications, and production priorities.

AOV Recommended Use Priority
Beauty (C) Main rendered image Essential
Diffuse and Glossy Reflection Adjust lighting and reflections in comp As needed
Emission and Volume Control emissive elements, fog, or smoke Scene-dependent
Position (P), Normal (N), Depth Repositioning effects, relighting tools, and depth-based effects As needed
Motion Vectors and Velocity Motion-related compositing effects Animated shots
Cryptomatte Selective object and material masking Separate setup

16-bit or 32-bit: set precision per AOV, not per file

Not every AOV needs 32-bit precision. 16-bit float (half) is often sufficient for beauty and lighting passes, while 32-bit float is preferable for Position (P) and Depth when accurate values are needed for relighting, 3D reconstruction, or depth defocus in Nuke. Using 16-bit for these data passes can introduce rounding errors, particularly across large depth ranges.

In Houdini, open Karma Standard Render Vars and set Precision to 16 Bit or 32 Bit for each AOV. For custom Render Vars, configure the appropriate data format rather than assuming every channel shares the same bit depth.

Check Color Limit before blaming precision. Karma’s Color Limit clamps bright sample contributions to reduce fireflies. A low value can remove highlight information even from a 32-bit EXR. If bright areas appear clipped, inspect Color Limit in Karma Render Settings before changing bit depth.

Compression and file size: DWAA, ZIP and why channel names matter

A multi-AOV OpenEXR can become unnecessarily large if compression is not configured for the data being stored. Choosing the right method helps reduce storage requirements without compromising important compositing passes.

  • DWAA for beauty and lighting: DWAA uses lossy compression for RGB image data, making it useful when smaller files are more important than preserving exact pixel values.
  • ZIP for data passes: ZIP is lossless, making it a safer choice for Position, Depth, Normal, and other precision-sensitive channels. In Houdini, the Render Var LOP supports per-AOV compression when writing multi-part OpenEXR files.
  • Channel names matter: OpenEXR’s DWA compression distinguishes color channels such as layer.R, layer.G, and layer.B from data channels such as layer.x, layer.y, and layer.z. Avoid naming non-color data as RGB channels, which may cause unintended lossy compression or color interpretation.

Estimate file size before rendering the sequence. Every additional AOV adds channel data, but actual file size depends on resolution, precision, compression, and image content.

Estimate EXR storage before rendering: File size depends on resolution, channel count, bit depth, and compression. Render one representative frame with your final AOV settings, check its actual file size, and use it to estimate storage for the full sequence. Larger files may also take longer to transfer from a render farm, depending on your connection speed.

Single-part, multi-part or separate files?

Karma offers three ways to organize AOVs for Nuke. Each works differently when managing channels, compression, and render deliveries.

  • Single-part OpenEXR: Stores multiple AOV layers in one EXR part. It is straightforward to manage and useful when compatibility with older software matters, but reading a small subset of channels may be less efficient.
  • Multi-part OpenEXR: Stores AOVs in separate parts within one file. Nuke supports this format and can access individual parts without reading every layer. Karma also supports compression settings per AOV in multi-part output.
  • Separate EXR files: Writes different AOVs to separate render products. This is useful when departments need independent deliveries, such as beauty, lighting, and utility passes, but creates more files to organize.

Which approach should your team use?

For smaller teams, a single multi-channel EXR is often the simplest starting point. Larger productions may benefit from multi-part EXRs for selective channel access or separate render products when departments need different AOV groups.

In Houdini, use Karma Render Products LOP to create multiple outputs and assign the required Render Vars to each product. Alternatively, Split Render Product by Render Var in Karma Render Settings creates one output per AOV.

Whatever structure you choose, load a test frame in Nuke and verify the channels, metadata, and Cryptomatte layers before rendering the full sequence.

Cryptomatte from Karma into Nuke

Cryptomatte lets compositors isolate objects and materials without manually creating masks. In Houdini Solaris, use the Karma Cryptomatte LOP to generate Cryptomatte passes for Karma CPU or XPU.

For a reliable Houdini-to-Nuke workflow:

  1. Set up Cryptomatte: Add the Karma Cryptomatte LOP upstream of Karma Render Settings to include its passes in the existing render product. You can also create a separate EXR render product.
  2. Check the EXR in Nuke: Connect a Cryptomatte node to your Read node and select the appropriate layer under Layer Selection.
  3. Verify the manifest: In Nuke, set Manifest Source to Metadata for an embedded manifest, or Sidecar when using an external JSON manifest.
  4. Test object selection: Pick an object and confirm that Nuke generates the expected matte before rendering the full sequence.

Common Cryptomatte problems

Older Houdini users have reported missing metadata, unreadable Cryptomatte layers, and issues when saving frames through MPlay or reprocessing EXRs. These reports concern earlier versions and should not be treated as confirmed Houdini 22 bugs.

If Cryptomatte fails, inspect the EXR channels and metadata, check Nuke compatibility, and test a direct render-to-disk output. Avoid modifying Cryptomatte data before extracting the matte.

A five-minute check in Nuke before you render the whole shot

Before sending a full Houdini sequence to render, export one representative EXR frame and run these quick checks in Nuke:

  1. Inspect the channels: Load the EXR with a Read node and use the Viewer’s channel selector to confirm that all required AOVs are present.
  2. Check lighting passes: Recombine the relevant lighting AOVs using Merge nodes set to Plus. Compare the result with beauty, accounting for the passes included in your reconstruction.
  3. Sample Position and Depth: Inspect pixel values in P and depth. Check for unexpected zeros, invalid values, or incorrect coordinate-space assumptions.
  4. Test Cryptomatte: Connect a Cryptomatte node, select an object, and verify the extracted matte and manifest.
  5. Check motion vectors: Confirm that the motion channels contain valid data. Before using VectorBlur, verify that the vectors have been converted to the 2D format, direction, and scale Nuke expects.

If a pass fails, fix it in Houdini and render another test frame before committing to the entire shot.

Rendering heavy AOV sets on a farm

Exporting more AOVs than your compositor needs can increase memory usage, EXR file size, and rendering overhead. SideFX notes that Karma allocates frame buffers for active Render Vars, so large AOV sets can consume significant memory, especially at high resolutions.

On a render farm, this can affect both production time and cost:

  • Rendering: Additional AOVs may increase processing and memory requirements, depending on their complexity.
  • Storage: More channels produce larger EXR files, increasing storage needs.
  • File transfers: Larger EXR sequences take longer to download, depending on connection speed.

Before submitting the full sequence, render one representative frame with your final AOV settings. Check its render time, memory usage, and file size.

Render and Check Houdini AOVs on iRender's Multi-GPU Workstations

Heavy AOV sets can increase memory usage, EXR file size, and rendering time. When local hardware becomes a bottleneck, iRender provides dedicated GPU workstations, including RTX 5090 GPUs, each with 32GB of VRAM.

Unlike a managed SaaS render farm, iRender lets you open your Houdini project directly on the remote workstation. Karma XPU can use multiple NVIDIA GPUs, although VRAM is not pooled and actual performance depends on the scene. You can render your AOVs and Cryptomatte, then open a test EXR in Nuke on the same machine to check channels, masks, and data passes before committing to the full shot.

Once rendering is complete, transfer the EXR sequence back through iRender’s file-transfer app.

There are practical costs to consider. Multi-AOV EXRs can take time to download, and machine billing continues while you inspect frames in Nuke. Houdini and Nuke licenses are also your responsibility. Shut down the workstation when finished to avoid unnecessary charges.

iRender GPU Cloud Workstation Packages: RTX 4090 & RTX 5090

A comparison of eight official iRender GPU cloud packages, including hardware specifications, hourly rates, and typical rendering uses.

iRender Server Package Hardware Specs (CPU / RAM / SSD) Hourly Rate & Suggested Use
NVIDIA RTX 4090 Series • 24GB GDDR6X VRAM per GPU
Package 3S
1x RTX 4090 (24GB VRAM)
AMD Threadripper™ PRO 3955WX
256GB Host RAM
2TB NVMe SSD
$8.20/hour ($7.38 at 3+ hours) · Single-GPU rendering for Lumion, D5 Render, Twinmotion, and Enscape.
Package 4S
2x RTX 4090 (24GB VRAM / GPU)
AMD Threadripper™ PRO 3955WX
256GB Host RAM
2TB NVMe SSD
$15/hour ($13.50 at 3+ hours) · Dual-GPU rendering with Redshift, Octane, and Blender Cycles.
Package 5S
4x RTX 4090 (24GB VRAM / GPU)
AMD Threadripper™ PRO 5975WX
256GB Host RAM
2TB NVMe SSD
$30/hour ($27 at 3+ hours) · Multi-GPU rendering for animation and VFX production.
Package 9S
8x RTX 4090 (24GB VRAM / GPU)
AMD Threadripper™ PRO 5975WX
256GB Host RAM
2TB NVMe SSD
$52/hour ($46.80 at 3+ hours) · Eight-GPU rendering for large production workloads.
NVIDIA RTX 5090 Series • 32GB GDDR7 VRAM per GPU
Package 3i
1x RTX 5090 (32GB GDDR7)
AMD Threadripper™ PRO 3955WX
256GB Host RAM
2TB NVMe SSD
$10.80/hour ($9.72 at 3+ hours) · Single-GPU workflows for D5 Render, Twinmotion, Lumion, and Enscape.
Package 4i
2x RTX 5090 (32GB VRAM / GPU)
AMD Threadripper™ PRO 3955WX
256GB Host RAM
2TB NVMe SSD
$20/hour ($18 at 3+ hours) · Dual-GPU rendering with Redshift, Octane, Cycles, and Karma XPU.
Package 5i
4x RTX 5090 (32GB VRAM / GPU)
AMD Threadripper™ PRO 5975WX
256GB Host RAM
2TB NVMe SSD
$38/hour ($34.20 at 3+ hours) · Multi-GPU rendering for animation and VFX.
Package 9i
8x RTX 5090 (32GB VRAM / GPU)
AMD Threadripper™ PRO 5975WX
256GB Host RAM
2TB NVMe SSD
$62/hour ($55.80 at 3+ hours) · Eight-GPU rendering for large 3D and VFX projects.

For new users, iRender currently offers a 100% bonus on the first deposit within 24 hrs of registration, giving you additional rendering credits to get started with larger projects.

Maximum Speed – Absolute Freedom


Source: sidefx.com, openexr.com, learn.foundry.com

FAQ

1. Should Karma AOVs be 16-bit or 32-bit?

Beauty and lighting passes can often use 16-bit float. For precision-sensitive data passes such as Position, Depth, Normal, and Motion Vectors, 32-bit float is a safer choice when accurate values are essential for compositing. Set Precision individually for each AOV in Karma Standard Render Vars.

2. Does Karma XPU support Cryptomatte?

Yes. Karma XPU in Houdini 22 supports Cryptomatte and Deep Output. Use the Karma Cryptomatte LOP to generate object or material ID passes rather than relying on standard lighting AOVs. In Nuke, check the Cryptomatte layer and manifest before extracting masks.

3. Why are my Karma EXR files so large?

Large EXR files often result from exporting too many AOVs, using 32-bit precision unnecessarily, or choosing inefficient compression settings. Export only the passes your compositor needs. Consider DWAA for beauty and lighting images when lossy compression is acceptable, and ZIP for precision-sensitive data.

4. How do I export custom AOVs with Karma XPU?

For shader-based custom AOVs, use the Karma AOV VOP inside a compatible material network. Connect the desired shader output and assign an AOV name. You can also configure additional Render Vars for supported LPEs or other data sources. Test the output before rendering a full sequence.

5. Why is my Position or Depth AOV missing in Nuke?

First, check whether the AOV was enabled and included in the Render Product in Houdini. Then open the EXR in Nuke and inspect its available channels. If the pass is missing, verify the Render Var configuration and output settings before rendering another test frame.

6. Should I use single-part or multi-part OpenEXR for Nuke?

Both formats can store multiple AOVs. Single-part EXRs are straightforward for smaller workflows, while multi-part EXRs organize data into separate parts and allow different compression settings. Choose based on your pipeline’s requirements, and verify that Nuke reads all the required channels correctly.

Accelerate your production pipeline with high-performance IaaS render farm services and dedicated bare-metal workstations powered by up to 8x NVIDIA GeForce RTX 5090 (32GB GDDR7), high-frequency AMD Ryzen™ Threadripper™ PRO processors, 256GB ECC RAM, and dedicated 2TB NVMe PCIe 4.0/5.0 scratch storage (>7,000 MB/s) tailored for your pipeline:
, , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Kelly Nguyen

I’m a Customer Support Specialist at iRender, passionate about helping 3D artists and designers achieve the best rendering experience. Through these blogs, I share practical knowledge and insights to support your creative journey.
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Karma XPU
Daz Studio
Maxwell
Omniverse
Nvidia Iray
Lumion
KeyShot
Unreal Engine
Twinmotion
Redshift
Octane
V-Ray
And many more…

iRENDER TEAM

MONDAY – FRIDAY: 24/7 Support
SATURDAY – SUNDAY: 6:00 AM – 11:59 PM
(UTC+7)
Hotline: (+84) 912-785-500
Skype: iRender Support
Email: [email protected]
Address 1: 68 Circular Road #02-01, 049422, Singapore.
Address 2: No.22 Thanh Cong Street, Hanoi, Vietnam.

Contact