Table Of Contents
- Introduction
- Creating A Cryptomatte AOV
- Cryptomatte ID Types
- Cryptomatte AOV Options Menu
- Node Name - ID Type
- Material Name - ID Type
- Redshift Object ID - ID Type
- User Attribute - ID Type
- Cryptomatte Depth
Introduction
Cryptomatte is a system developed by Psyop to deliver a robust matte solution for compositing packages. The Cryptomatte solution encodes EXR images with special image data which automatically generates mattes for several of the commonenly needed mattes during post production. This saves time having to generate the matte AOV's manually especially when there are a lot of objects and materials in your scene. Using the Cryptomatte plugin for NUKE or Fusion, mattes can be quickly and easily extracted through picking objects or materials or by entering object names. Cryptomatte in Redshift currently supports several automatic ID Types based on Node Name, Material Name, Redshift Object ID, or Custom User Attributes.
|
|
Beauty Render. |
Cryptomatte AOV Example using the object "Node Name" ID type. |
The Cryptomatte plug-in can be downloaded at the Psyop Github page. https://github.com/Psyop/Cryptomatte
Creating A Cryptomatte AOV
Cryptomatte ID Types
Cryptomatte AOV Options Menu
Node Name - ID Type
The "Node Name" ID Type uses the object node naming conventions to build individual unique mattes based on object node names.
In this example Cryptomatte is using Node Name based mattes to isolate mattes for each object node in the scene.
Material Name - ID Type
The "Material Name" ID Type uses the the materials in the scene to build unique mattes for each material.
In this example Cryptomatte is using Material Name based mattes to isolate mattes for each material assigned in the scene.
Redshift Object ID - ID Type
The "Redshift Object ID" ID Type uses the Object ID parameters on the objects you specify in a similar fashion to the Object ID AOV and Puzzle Matte AOV. This Attribute can be found in the Attribute Editor when selecting an object inside of the Redshift properties or by assigning a Redshift Object ID node to objects.
In this example Cryptomatte is using the Redshift Object ID attribute. We assigned them to specific objects allowing us to selectively control the mattes.
Creating Redshift ObjectID's
Redshift allows you to assign the Redshift Object ID parameter by attaching an Redshift Object Tag to an object.
The ID is set from the Object ID tab, using a number greater than zero.
Redshift Object ID controls inside of the Redshift Object Tag for the selected object.
The Object ID section of the RS Object Tag affect an object and all its sub-objects. You can use this group objects and apply the same Object ID from a single tag.
Multiple objects can share the same Redshift Object ID number if you want to group objects together into a single matte.
User Attribute - ID Type
The "User Attribute" ID Type reads in custom string attributes you have applied to any objects in the scene and uses the attribute names to guide the mattes Cryptomatte generates. This allows you to selectively target and customize the individual mattes naming convention for further control and organization of your Cryptomatte output.
Creating User Attribute Cryptomattes
In the example below User Attributes were applied to specific objects and each object that we wanted to have its own matte was also given an appropriate individual string name to group the objects by. Here we have the tires, floor, wall, license plate, and front windshield & front light in their own matte groups. This allows us to easily customize the objects and names for our mattes using custom attributes.
Specific objects grouped together into their own respective mattes based on the User Attributes we created.
To setup our User Attribute Cryptomatte we first change the ID Type to "User Attribute" in the Cryptomatte options and then we give it an attribute name. This name will help Cryptomatte generate the matte data. In our example we chose to name our attribute "matte".
Cryptomatte Options displaying ID Type in "User Attribute" mode and using the custom attribute named "matte".
Now we assign the attribute "matte" to all the objects we want to generate cryptomattes for. This can be done by selecting object and then creating a new attribute from User Data Attributes menu and selecting the Add User Data option.
In this example we are adding an attribute to the Back_Wall object.
Clicking the Add User Data option will open up a new window which lets you create the new custom attribute. In this window for our example we will choose matte for the long name to match the attribute our Cryptomatte AOV is going to be look for. User Attribute ID Type only works with String, Integer and Float attribute data types. In this instance we will select String and then hit the ok button. This will now create our custom matte attribute in the User Data section of our Back_Wall object.
In our example we used the attribute name "matte" and the data type is going to be "String" for Cryptomatte to read our attribute.
Now that we have created our new custom attribute you can see that the User Data section of our Back_Wall object has now expanded to include a new matte user data. This new String attribute also provides us with a space to type in any name we want. The name we enter here will be used by Cryptomatte to distinguish between the mattes it generates. For our example we chose to use the name wall to generate a matte specificaly for our Back_Wall object.
This new custom user-data we created can now be found inside the User Data tab.
Multiple objects can share the same name if you want to group objects together into a single matte.
Finally after rendering our scene and adding a few more User Attributes to more objects we end up with a finished Cryptomatte which we can open in a compositing package and select the custom attribute based mattes we created. The names we used will carry over into the Cryptomatte data and be available for us to use in our compositing application.
Our example Cryptomatte inside of Nuke. Using the picker to select the Back Wall you will notice that the name we used earlier "wall" is now added to our Matte List. Using this system you can easily create custom names & group objects into specific mattes using attributes.
Cryptomatte Depth
The "Cryptomatte Depth" value specifies how many objects can exist per-pixel due to overlapping for things like motion blur and depth of field.
Nuke 12 or older does not come with Cryptomatte installed. To use Cryptomatte in older versions of Nuke you will need to install the plug-in.