Adding cryptomatte to custom render setup

Adding cryptomatte to custom render setup

am_wilkins
Collaborator Collaborator
2,545 Views
14 Replies
Message 1 of 15

Adding cryptomatte to custom render setup

am_wilkins
Collaborator
Collaborator

Hi,

 

I'm trying to get Cryptomatte working with a "custom render setup" as the Arnold Render Settings HDA isn't working for our purposes. (can't adjust Contour Filter Width)

 

I've added the "arnold_cryptomatte_aovs" HDA instead, and added them to the Render Product.

However, this isn't working for me in Nuke.

(it doesn't help that the old "Preview in EXR" feature was removed and I can't check if it's working in Houdini)

 

The cryptomattes are added using the arnold HDA

problems_001.png

They are then added to the "Render Product"

problems_002.png

The Cryptomatte shader that comes with the arnold HDA is added to the Render Settings.

problems_003.png

The AOV appear in the render.

problems_004.png

 

The Cryptomatte AOV aren't working in Nuke. The layer selection is empty and doesn't show any AOV.

problems_005.png

 

Please can you advise to get Cryptomatte working with the manual/custom setup?

I can provide this basic repro scene.

 

thank you

amwilkins

--

Houdini Core Version 20.0.724
Arnold Core: 7.3.2.0

HotA: 6.3.2.0

CPU: AMD Ryzen TR 3990x

RAM: 128GB
GPU: NVIDIA RTX 4090
OS: Windows

0 Likes
Accepted solutions (1)
2,546 Views
14 Replies
Replies (14)
Message 2 of 15

Stephen.Blair
Community Manager
Community Manager

You have to use the arnold product type.



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 3 of 15

am_wilkins
Collaborator
Collaborator

Hi Stephen,

 

When we do this, then all the AOV break/disappear.

 

Product Type set to Arnold

problems_006.png

 

Doesn't work locally within Houdini nor rendered through a USD Render ROP.

problems_007.png

 

 

amwilkins

0 Likes
Message 4 of 15

peterDTE7K
Advocate
Advocate

It does not work. If you want cryptomatte with Render Settings node the only way to make it work is to save USD and render it with kick. I guess it would work with sick too but sick again does not work with Render Settings node, only with Arnold Render Settings.

 

AOVs in Solaris are difficult to manage, tons of nodes need to be added and linked together. RGBA_default is not working. It would be awesome if in future the AOVs tab of Arnold Render Setting node is enhanced so it includes filter width, per light AOVs, RGBA_default and one click cryptomatte adding.

 

-Peter

Message 5 of 15

am_wilkins
Collaborator
Collaborator

Agreed, Arnold in Solaris is a bit of a disaster atm.

I'm trying to show all the problems and ask for an update to the "Arnold Render Settings" HDA every few months or so in hope I can get through to the Arnold team and improvements are made.
It's quite critical for their clients and the user experience.

 

Husk unfortunately has some big advantages over Kick, so we'd prefer not to use Kick if possible.

Based on your input here however, I'll try test it again.

 

0 Likes
Message 6 of 15

Stephen.Blair
Community Manager
Community Manager
Accepted solution

Cryptomatte works. I do it all the time, and I've set up many customers. 

  • You must use the arnold product type.
  • If you use Override Output Image, that output does not have cryptomatte. That's a known issue. You have to use the Render Product name.


// Stephen Blair
// Arnold Renderer Support
Message 7 of 15

am_wilkins
Collaborator
Collaborator

Thank you Stephen,

 

I'm using the "arnold" product type, however I was overriding the "USD Render ROP" image path.

I've set that on the Render Product now rather.

problems_008.png

 

PS. the AOV still break within Houdini straight away after changing to the "arnold" product type.
Not sure if that's a known issue?

 

However, although we are now seeing option in the "Layer Selection" the Cryptomatte AOV within Nuke still don't work.

Viewing from the "Cryptomatte" node, AOV are present and showing in the Layer Selection.

I tried to put a standard surface on the default sphere but that didn't help.

problems_009.png

 

Just to show, the RGBA does have information - the render isn't black. It's just when viewing the cryptomatte, it doesn't work.

problems_010.png

I brought in a different (older) EXR into the same Nuke scene (from another project) that contains Cryptomatte which was rendered using the "Arnold Render Settings" and this works totally fine.

problems_011.png

 

best,

amwilkins

 

 

 

0 Likes
Message 8 of 15

peterDTE7K
Advocate
Advocate

Thank you Stephen.

 

Try this scene Andrew. Crypto works on my end in Fusion.

Message 9 of 15

am_wilkins
Collaborator
Collaborator

Hi Peter,

Thanks so much 👏, yup it was two things I was missing.

I was originally still trying to use Husk as I don't remember being forced to use "Direct USD Render/Sick" before. So that's not great for us. On previous projects I had cryptomatte working with Husk and "Raster" product type, I feel like there is stuff changing behind the scenes that is breaking things.

 

Additionally I was using:
"/materials/cryptomatte/aov_shader/cryptomatte_shader" for the shader path and while testing I also tried "/materials/cryptomatte/aov_shader/" in which the additional slash at the end was stopping it working.

 

PS. It's also not great that we can't use "/Render/Products/Vars/*" for the "Ordered Render Vars".

Hopefully an overhaul on the "Arnold Render Settings HDA" is getting closer for the Arnold team.

 

 

All the best,

amwilkins

 

0 Likes
Message 10 of 15

peterDTE7K
Advocate
Advocate

Hey Andrew, it works also when you switch to husk.

-Peter

0 Likes
Message 11 of 15

am_wilkins
Collaborator
Collaborator

Hi Peter, thanks for the testing from your end.

 

Oh no, this is such an end of week problem!

Attached is my test scene file.

 

As soon as I disable "Direct USD Render" the cryptomatte don't work for me. Very strange.
Maybe a version difference? I'm on:

Houdini Core Version 20.0.724, Arnold Core: 7.3.2.0, HotA: 6.3.2.0

 

"Direct USD Render" disabled. (Husk)

husk_render_01.jpg

"Direct USD Render" enabled. (Sick)

sick_render_01.jpg

 

thanks!

amwilkins

0 Likes
Message 12 of 15

peterDTE7K
Advocate
Advocate

Hi Andrew, you need to remove this node.

-Peter

 

remove.jpg

0 Likes
Message 13 of 15

am_wilkins
Collaborator
Collaborator

WOW, are you kidding me 😅

Yeah that was left over from all this testing, completely unconnected to anything but I guess perhaps clashing with the one the Arnold HDA makes. Interesting that breaks Husk but not Sick.

 

Thanks so much for the assistance!! Really helped to get this sorted. 🙌

 

amwilkins

Message 14 of 15

am_wilkins
Collaborator
Collaborator

Hi there,

 

EDIT

Can ignore this question. I managed to get it working.

Just using a double path to AOV materials like so:

"/materials/ar_render /materials/cryptomatte/aov_shader"
---
I have another question in relation to this.

I need to be able to add another custom AOV (which is the UV aov) in-conjunction to having Cryptomatte AOV.

 

The issue I'm running into is that I can't have multiple shader paths on the render settings node.

 

ie. AOV Shaders is currently "/materials/cryptomatte/aov_shader" to get the Cryptomatte working

But I can't add another to the path:

Example #1: "/materials/cryptomatte/aov_shader /materials/ar_render"
Example #2: "/materials/*"

"/materials/ar_render" being where I saved the utility set to UV, with the write RGB, AOV out etc.

UV_aov.png

 

The UV AOV by itself is working, and the Cryptomatte by itself is working.

 

I also tried adding the "Cryptomatte" shader node to my custom UV AOV setup, but that also doesn't appear to work. At least checking within Houdini.

UV_aov_02.png

 

best,

amwilkins

0 Likes
Message 15 of 15

am_wilkins
Collaborator
Collaborator
Hi there,

Sorry, you can ignore this post I manged to get it working.

Thank you!
0 Likes