Does Blender cryptomatte node works only with exr rendered in Blender?

I tried to import a file rendered in Clarisse and Octane standalone and cryptomatte node produces always a completely black mask from them ? Connect an exr rendered in Blender and it works.
Io-exr plugin in Photoshop for example opens those files with cryptomatte masks just fine.

So if the cryptomatte node limited to blender own renders only or something?

A bit confused as to what you are doing? You seem to say you imported a render, which of course will not work… you need to import the file the render came from…EXR has all the info for Blender to work with…but any of the files that Blender will import will work.
It’s not the render but the actual 3d mesh for Blender to work with cryptomatte, and it then uses that data in the compositor to create the mask…

So you are saying there is something specific to exr saved from Blender its cryptomatte node is only able to read? Contrary to Natron, IO-exr/Photoshop, Nuke, Fusion that works with cryptomatte rendered in any 3d package?

It seems like it.
But there is an easy workaround. Just use Natron, Fusion or Nuke for compositing.
Why you would want to use Blender in the first place if you have these options available to you?

No what I was getting at is the EXR includes all the data needed ( ie: Layers) …Blender Crypto will use that data from any EXR, not just one from Blender.

What I needed to know was what you exported from the external packages to Blender…
as it sounded like you just imported a render from the external…

If you are exporting an Open EXR from Octane then do this…
Start a new Blender file and set Render settings (Frame Range, Output type - e.g. MPEG/H. 264, Output File) Switch to the Compositor, choose Use Nodes and delete the Render Layers node. Add an Image node and Open all rendered OpenEXR MultiLayer files.

Enable all Cryptomatte options in View Layer Properties them render an EXR MultiLayer. Use Output node in compositor to name your layers, them you can finish your project in a compositing software with it respective tool/option/gizmo. If your intention is to render in Clarise or Octane, you have to manage outputs inside them, respectively. Criptomatte goal is to organize mattes in multiple compositing softwares, but to enable it in each render engine will be different.

I imported multilayered exr rendered in Octane. That exr shows cryptomatte masks in photoshop(IO-exr plugin) and Natron (cryptomatte keyer plugin) just fine .

But I prefer Blender compositing pane/nodes for any compositing work . it’s quick and simple in Blender. Nuke is out of a question.

Still that same file I saw cryptomatte based masks in Natron and Photoshop shows pick colors in Blender crypto node but outputs no mask.

I tied to connect all of that imported file outputs to “file output” node set to save multilayered exr too. And then re-import it back but in the end it gave me nothing.

I believe cryptomatte from blender 2.92 and older is not compatible with cryptomatte from other software.

But Jeroen Bakker fixed this recently. Not sure if for blender 2.93 or 3.0. i cant look it up at the moment but you can find the patch on developer.blender.org

Thanks [Lumpengnom] it’s good to know . I couldn’t find that patch although and from my 2.93 installation it’s two different cryptomatte nodes there but both work same, no difference .

I hate Natron crypto key node. It makes lots of weird artifacts and nowhere same clean as Blender one when it’s working with native Blender exrs and shows you a yellow/green mess instead of decent pick colors.

Hmm… perhaps my memory is serving me wrong…
Here is the devtalk thread. People there are getting it to work with Nuke, Fusion and AFX:

I have kind of opposite issue: I don’t want to use blender rendered exr in Nuke or AFX. I want to use Blender composer to work with files rendered in Octane and Clarisse. Blender compositing pane is simple quick and super easy to use contrary to Fusion or Nuke even having certain limitations .

And from what I see that new cryptomatte node in 2.93 is still incompatible with exrs rendered outside of Blender.

The 2.92 Cryptomatte node works fine with the official Cryptomatte test images so there’s no requirement that the exr files be rendered by Blender.

You can ignore most of the posts in this thread referring to using the file output node. They’re talking about a garbage hacky workflow and has nothing to with your issue. The patch mentioned is also irrelevant.

Ah, I see.
I thought the two issues might have the same solution. If exporting from Blender to other software is compatible then it should be compatible the other way around as well. But perhaps not. Maybe complaining in the devtalk thread leads to the issues getting fixed.

So it should read imported exr crypto matte? But does it really? I somehow managed to get it working with one scene rendered in Clarisse . A simple test sphere. Another same sphere shot with a camera a bit away and it doesn’t.
I puzzled to figure out what 's the difference.

Have anyone ever managed to get masks by Blender crypto node from exr rendered in 3d max / MAya or whatever?

The working test files I linked to have nothing to do with Blender. They’d be Arnold renders from Maya.
How are you connecting the node? Can your provide me with a couple of the exr files to inspect?

Render target.exr (1.5 MB)

Here is a file from Octane for example. EXr-IO plugin in Photoshop opens it just fine with all the masks.
in Blender I see pick colors but no mask.
For some weird reason Clarisse rendered exr now show their masks too. I am not sure what have I done.

For what it’s worth, you CAN export working EXR crypto data using File Output Nodes (as of 2.93, at least). It is demonstrated in this tutorial or just copy this layout here:

A few notes (for me at any rate):

  • Save to multilayer EXR
  • Make sure the name of your Inputs match the Crypto pass names exactly. (I do this manually)
  • You need a way to decipher this file downstream. For After Effects (pre 2020, I think?) you need to download the free ProEXR plugin and install the Cryptomatte plugin (the other plugins in there are probably already installed). Post 2020 AE has Crypto deciphering plugins installed natively.