Blender Cryptomatte Object and Material Workflow
Cryptomatte in Blender is an automated masking and matte generation standard that separates objects, materials, and asset hierarchies into distinct layers during rendering. This workflow eliminates the need for manual color IDs or index passes by encoding unique identification data and pixel coverage directly into the render output. By utilizing the Cryptomatte system within Blender's Cycles engine and the Compositor, artists can quickly isolate, color-grade, and adjust specific parts of a complex 3D scene in post-production with sub-pixel accuracy and automatic motion blur support.
Understanding the Three Cryptomatte Layers
Blender organizes Cryptomatte data into three primary categories based on scene organization:
- Crypto Object: Generates distinct mattes based on individual mesh objects in the Outliner. This level is ideal when you need to isolate a single specific prop, character part, or standalone geometric element.
- Crypto Material: Separates regions based on assigned shader materials. If multiple objects share the same material, selecting that material in post-production will create a matte encompassing every surface where that shader appears.
- Crypto Asset: Groups mattes based on the highest-level parent in a transform hierarchy or collection. This is useful for complex, multi-part models (such as a vehicle consisting of hundreds of individual meshes) so the entire asset can be selected with a single click.
Setting Up Cryptomatte in Blender
To enable and configure Cryptomatte passes prior to rendering:
- Select the Render Engine: Ensure the render engine is set to Cycles, as Cryptomatte natively supports accurate coverage and sample-depth data in Cycles.
- Enable Passes: Navigate to the View Layer Properties panel on the right sidebar, expand the Passes tab, and locate the Cryptomatte section.
- Check Output Types: Enable the checkboxes for Object, Material, and Asset depending on which isolation levels your project requires.
- Set Levels (Accuracy): Adjust the Cryptomatte Levels setting (default is usually 6). This defines how many overlapping objects or transparent surfaces per pixel can be stored simultaneously.
Output Format Requirements
Because Cryptomatte stores precise identification hashes and floating-point coverage values, standard image formats like JPEG or PNG cannot contain this metadata.
- Set the output file format in Output Properties to OpenEXR MultiLayer.
- Use a Float (Full) 32-bit or Float (Half) 16-bit color depth to preserve the numerical hashes needed by compositing software.
Compositing and Isolating Elements
Once the scene is rendered, you can extract the mattes directly inside Blender's Compositor:
- Open the Compositor workspace and check Use Nodes.
- Add a Cryptomatte node (Add > Matte > Cryptomatte).
- Connect the Image output from the Render Layers node to the Image input of the Cryptomatte node.
- Set the Layer dropdown on the Cryptomatte node to CryptoObject, CryptoMaterial, or CryptoAsset.
- Plug the Image output of the Cryptomatte node into a Viewer node to see the rendered frame or the color-coded pick pass.
- Use the Add (Pipette/Plus Icon) button on the Cryptomatte node and click directly on the desired object, material, or asset in the viewport backdrop to add its ID to the Matte ID list.
- The Matte output socket of the Cryptomatte node now provides a clean, anti-aliased black-and-white alpha mask suitable for mixing nodes, color correction, and depth-of-field masking.