Cryptomatte Shader

 

Cryptomatte is an AOV shader which encodes Cryptomatte ID mattes into EXR outputs. Usage varies by DCC. In all DCCs however, it involves setting up a global AOV shader, though in Maya and Cinema 4D this is done automatically. AOV shaders are shaders that run on all samples after the main shading network has evaluated. When Cryptomatte is present, and a Cryptomatte AOV is active, it will handle the rest of the setup itself inside of Arnold. The setup includes creating more outputs, writing metadata and manifests, and installing the proper filters. Cryptomatte's Filter and sidecar manifest driver are bundled in the same plugin, but should not be used manually by users.

 

The basic procedure is as follows:

  1. Activate a Cryptomatte AOV. This should be configured to write to an RGB EXR file.
  2. Connect a Cryptomatte shader to AOV shaders in the render globals (in Maya and Cinema 4D this is automatic and can be skipped).
  3. Render the EXR to disk. You'll get the AOV expanded into all the Cryptomatte data, with metadata. Options on the Cryptomatte shader can be considered global options for the system, in a sense an extension of the Arnold options.

cryptomatte workflow example can be found here. More information about cryptomatte AOVs can be found here.

Cryptomatte Globals

Sidecar Manifests

Write the manifest to a sidecar .json file instead of into the header. Writing these is deferred until after the render.

Cryptomatte Depth

Controls how many layers of Cryptomatte will be created, which is the number of matte-able objects that can be stored per pixel. 6 is the default and is essentially always plenty.

Strip Object Namespaces

A name processing option. Strips namespaces from objects in Maya style naming. See name processing.

Strip Material Namespaces

A name processing option. Strips namespaces from material names in material matte.

Standard Cryptomatte

Preview in Exr

Preview AOVs are what users see in render viewers. These AOVs are no longer used by the decoders and so are dead weight. This option is disabled by default, which means they don't write to EXRs. (Recommended off).

Process Maya

Maya Names: (e.g. "namespace:obj"). If disabled, colons are considered as defining namespaces.

Process Paths

Path-Style names: (e.g. "/obj/path/name"). If enabled, anything before the last forward slashes is considered as defining namespaces.

Process Obj Path Pipes

Obj Path Pipes: (e.g. "|obj|path|name") Consider pipes (|) part of the object path. (For older C4D).

Process Mat Path Pipes

Strip Material Pipes: (e.g. "/a/b/c|standard_surface" -> "/a/b/c") In paths, cut material names after pipes (|). (For C4D).

Process Legacy

Legacy Styles: Includes old C4D style, as well as Softimage.

 


User AOVs

User Cryptomatte AOV 0

AOV Name 0

AOV name for User Cryptomatte 1.

Source User Data 0

User data name (must be string-type) for User Cryptomatte 0.

User Cryptomatte AOV 1

AOV Name 1

AOV name for User Cryptomatte 1.

Source User Data 1

User data name (must be string-type) for User Cryptomatte 1.

User Cryptomatte AOV 2

AOV Name 2

AOV name for User Cryptomatte 2.

Source User Data 2

User data name (must be string-type) for User Cryptomatte 2.

User Cryptomatte AOV 3

AOV Name 3

AOV name for User Cryptomatte 3.

Source User Data 3

User data name (must be string-type) for User Cryptomatte 3.

 


 

 

  • No labels