Houdini 19.0 Solaris

Setting up custom AOVs in Karma

On this page


AOVs or extra image planes record additional per-pixel data in rendered image formats that support “deep” (multi-plane) images, such as OpenEXR.


See the Cryptomatte guide from Mantra for background information.

The Karma implementation of Cryptomatte differs from Mantra’s in one significant way: Karma generates Cryptomatte IDs using constant or uniform string primvars instead of an object property.

Generating unique IDs for each instance is much simpler in Karma, since there’s no need to use material stylesheets. All you need to do is assign unique values of a string primvar each instance.

How to

To...Do this

Output a Cryptomatte AOV from Karma

  1. In the Karma LOP or ROP, go to the Image Output ▸ AOVs sub-tab and expand the Extra render vars section.

  2. Click the plus button to add a render var.

  3. Set Name to the name of the AOV to create.

  4. Set Format and Data type to color3f.

  5. Set Source Type to PrimVar.

  6. Set Source Name to the name of a USD primvar on the rendered geometry.

Output an AOV with Cryptomatte from Karma

  1. Create a constant or uniform string primvar on the instances to generate IDs from.

  2. Follow the procedure above for adding a custom AOV. When filling out the fields for the AOV, do the following:

    • Set Source Name to the name of the constant or uniform string primvar you created on the instances.

    • Turn on the Cryptomatte checkbox.

See also




  • Importing SOP geometry into USD

    Details of how Houdini converts SOP geometry to USD, and how you can control the process.

  • Component Builder

    The Component Builder tool puts down a network snippet for creating a USD model from SOPs, with support for materials, variants, payloads, and layering.


  • Edit node

    Interactively transforms prims in the viewer. Can use physics collisions to position props realistically.

  • Layout node

    Provides tools for populating a scene with instanced USD assets. You can place individual components, paint/scatter components in different ways using customizable brushes, and edit existing instances.

  • Custom Layout Brushes

    How to create layout brush digital assets you can use to customize the behavior of the Layout LOP.


  • Shader Framework

    Describes the Solaris shading framework, including shader node translation to USD primitives.

  • Using MaterialX with Karma

    Houdini has VOP node equivalents of the MaterialX shader nodes. You can build a shader network using these nodes, or import an existing MaterialX shader, and use them with Karma (Houdini’s USD renderer).

  • /solaris/materialx_nodes

Karma rendering