> [!abstract] Summary > **Cryptomatte** generates ID mattes for objects, materials, or assets automatically at render time — no manual matte painting or per-object render passes needed. The resulting AOVs are used in compositing to isolate and grade elements precisely. --- # What is a Cryptomatte? Cryptomatte is an industry-standard system for generating **automatic, accurate ID mattes** from renders. It stores a special multi-channel AOV that encodes which object (or material, or asset) covers each pixel — including correct handling of motion blur, transparency, and depth of field. In compositing, a Cryptomatte node reads these channels and lets you click on any pixel to instantly extract a clean matte for that element. ![[image-198.png]] ## Key Modes | Mode | What Gets a Matte | | ---- | ----------------- | | **Object** | Each unique object/primitive gets its own matte | | **Material** | Each unique material gets its own matte | | **Asset** | Groups objects by a custom asset name attribute | --- # Setup in Houdini (HTOA) ## 1. Enable Cryptomatte AOVs In your Arnold ROP, go to the **AOVs** tab and add the following: | AOV Name | Type | | ----------------- | ------------------------------------------------ | | `crypto_object` | `VECTOR2` (or `RGB` depending on Arnold version) | | `crypto_material` | `VECTOR2` | | `crypto_asset` | `VECTOR2` | > [!note] Add only the modes you need — each Cryptomatte layer adds to render time and file size. ## 2. Output Format Cryptomatte requires **multi-layer EXR** output to function correctly in compositing. Make sure your render output is set to: - Format: `.exr` - Bit depth: **16-bit half** or **32-bit float** - All AOVs in a **single multi-layer EXR file** --- # Setup in Arnold for Maya 1. In the **Render Settings**, go to **AOVs** 2. Add `crypto_object`, `crypto_material`, and/or `crypto_asset` 3. Ensure output is a multi-layer EXR --- # Using Cryptomatte in Nuke 1. Read the multi-layer EXR into Nuke 2. Add a **Cryptomatte** node 3. In the node's interface, click **Pick** and click on any object in the viewer 4. The node outputs a clean matte for that selection > [!tip] You can click multiple objects to build a combined matte, and use the name filter to select by pattern (e.g. all objects starting with `char_`). --- # Notes - Cryptomatte mattes are **anti-aliased** and handle motion blur and transparency correctly — unlike hand-painted mattes or object ID AOVs - The `crypto_asset` mode is the most powerful for production use: it lets you matte an entire character (made of many objects/materials) with a single click - Arnold's Cryptomatte implementation follows the [Cryptomatte specification](https://github.com/Psyop/Cryptomatte) by Psyop, compatible with any compliant compositing app