|On this page|
Karma supports Cryptomatte , and this node simplifies setting up Cryptomatte IDs when rendering with Karma. Karma has built-in support for generating IDs from materials and primitives. Users can also specify primvars to use as Cryptomatte IDs. These primvars must be integers or strings, and have constant or uniform interpolation. This node also takes care of generating useful primvars based on Kind.
Third-party renderers are responsible for implementing Cryptomatte support in their Hydra render delegates.
Cryptomatte IDs involving instances usually behave as expected. Point Instancers and Native Instances are very different in USD, though they look the same to Karma after passing through Hydra. Just as instances in USD share data, Cryptomatte IDs will also be shared if they are based on instanced data.
Here is a comparison render. Asset references that includes shaders will result in different Material ID for each reference of the asset (left). Instanceable references of that asset will instead share Material IDs (right).
In its default mode, wire this node upstream of a Karma Render Settings, and the Karma LOP automatically includes the Cryptomatte render vars into the render product.
When creating new render products for Cryptomatte passes, add this node downstream of a Karma Render Settings, to add the render product to the given render settings.
When specifying custom primvars, the primvars: prefix does not need to be included. Custom primvars can be namespaced like
Any constant or uniform primvar, that is an integer or string type, can be used to generate Primvar-driven Cryptomatte passes.
Tagging GeomSubsets is best accomplished via Material IDs, as face-group material assignments is the reason GeomSubsets exist in USD.
Cryptomatte render vars ending with numbers can cause problems in some compositing applications. This node tries to warn about these situations.
This node can be connected by itself to the second input on the Karma Render Settings, and most Cryptomattes will work. However the Kind IDs require the main stage, as it authors both the Cryptomatte vars and specific primvars to prims on the stage.
The Cryptomatte plugins for some compositing applications may only support the pre-2013 EXR format. Adding
--exrmode 0to your husk command will use this legacy version of EXR.
Add to Existing Render Product
Adds the Cryptomatte passes to an existing Render Product’s image. If the specified Render Product doesn’t exist, the Vars are still created.
Create Render Product
Generates a new Render Product, for writing the Cryptomatte passes to a separate file. If the specified Render Settings primitive doesn’t exist, the Product/Vars are still created
Create Render Product for Each ID
Generates a new Render Var and Render Product for each Cryptomatte ID, for writing the Cryptomatte passes to separate files. If the specified Render Settings primitive doesn’t exist, the Product/Vars are still created
The render products this node will add the Cryptomatte render vars from this node. If the product doesn’t exist, will do nothing.
Location in the Scene Graph for the new Cryptomatte Render Product.
The Render Settings primitive to which the new Cryptomatte Render Product is added.
Location for rendered images will be rendered to disk, when in Create Render Product mode.
In Create Render Product for Each ID mode, each Cryptomatte ID specifies its own image path.
The various inputs that can be used to generate Cryptomatte passes.
Individual geometry primitives on the stage (i.e. gprims).
Each material on the stage.
Primitives that use the Kind metadata are added.
Strict Model Hierarchy
Enabling this will only match Model Kinds that follow correct model hierarchy. This generally means any prims with Component-based kind only have ancestors of Group or Assembly-based kinds.
Choose how to group primitives that match the given kind.
Individual primitives of the given kind.
AssetInfo is special metadata, useful for identifying prims referencing the same asset definition.
Use custom string or integer primvars to generate Cryptomatte IDs.
Configure the Render Vars created for the cryptomatte passes. See Render Var for more info.