Karma Cryptomatte issues in Houdini 19.5.403
6279 19 5- ysysimon
- Member
- 75 posts
- Joined: Dec. 2017
- Offline
I found a series of issues of Karma's Cryptomatte.
1. When rendering to Mplay and then save frame into disk, houdini won't write out the correct Cryptomatte metadata, neither Houdini COP or Nuke can use those Cryptomatte.
2. Cryptomatte aov set by different methods seems to write non-generic metadata.
- the first way is set the Cryptomatte aov on the karma render settings node, set the extra render vars 'CryptoObject'. it will give the 'CryptoObject' aov, and it can give the correct metadata that Houdini and Nuke can read.
- the other way is set the Cryptomatte aov on the 'Karma Cryptomatte' node (will output CryptoPrimitives aov),if use this method only Houdini COP can read the metadata and use the Cryptomatte correctly. (Nuke can't even read beauty pass when there is 'CryptoPrimitives')
3. when using 'CryptoObject' method , if read the EXR file in the COP and use AIdenoiser to denoising the image, and use COPROP render it out, the metadata will also mess up (can't use Cryptomatte after denoising and render it out).
The above three problems, I think there may be some Nuke side issues? But the use of aidenoise in cop will break the use of Cryptomatte, it seems that it should not appear.
I have attached the exr file rendered by both methods: https://mega.nz/folder/PkR1XDzb#b_CVkNNoLodQZh858DFjig [mega.nz]
1. When rendering to Mplay and then save frame into disk, houdini won't write out the correct Cryptomatte metadata, neither Houdini COP or Nuke can use those Cryptomatte.
2. Cryptomatte aov set by different methods seems to write non-generic metadata.
- the first way is set the Cryptomatte aov on the karma render settings node, set the extra render vars 'CryptoObject'. it will give the 'CryptoObject' aov, and it can give the correct metadata that Houdini and Nuke can read.
- the other way is set the Cryptomatte aov on the 'Karma Cryptomatte' node (will output CryptoPrimitives aov),if use this method only Houdini COP can read the metadata and use the Cryptomatte correctly. (Nuke can't even read beauty pass when there is 'CryptoPrimitives')
3. when using 'CryptoObject' method , if read the EXR file in the COP and use AIdenoiser to denoising the image, and use COPROP render it out, the metadata will also mess up (can't use Cryptomatte after denoising and render it out).
The above three problems, I think there may be some Nuke side issues? But the use of aidenoise in cop will break the use of Cryptomatte, it seems that it should not appear.
I have attached the exr file rendered by both methods: https://mega.nz/folder/PkR1XDzb#b_CVkNNoLodQZh858DFjig [mega.nz]
Edited by ysysimon - Nov. 2, 2022 22:06:48
- jsmack
- Member
- 8038 posts
- Joined: Sept. 2011
- Offline
- ysysimon
- Member
- 75 posts
- Joined: Dec. 2017
- Offline
jsmackHow?
Does it work in nuke if you render the crypto to a separate file? I never save crypto in the same file as the beauty, that always causes problems.
I believe muti-layer EXR currently supports rendering crypto into the same exr file, as evidenced by the method 'CryptoObject' being successfully read by nuke.
In fact, rendering alone without beauty aov involves another issue, for which I made a separate post:https://www.sidefx.com/forum/topic/87180/ [www.sidefx.com]
- jsmack
- Member
- 8038 posts
- Joined: Sept. 2011
- Offline
- yfripp
- Member
- 2 posts
- Joined:
- Offline
- Tbanger_1000
- Member
- 1 posts
- Joined: May 2017
- Offline
Has anyone found an answer to this? I'm having the same issue in Houdini 20 karma solaris. Nuke seems unable to read exr's with AOVs and crytomattes.
Flame and Chaos Player read the AOvs+crytpmattes correctly but nuke seems unable to see not only the beauty,rbga and C pass but can't see the cryptomattes inbeaded in the multichannel exr, It only sees the AOV's.
What am I missing?
Flame and Chaos Player read the AOvs+crytpmattes correctly but nuke seems unable to see not only the beauty,rbga and C pass but can't see the cryptomattes inbeaded in the multichannel exr, It only sees the AOV's.
What am I missing?
- Anton81
- Member
- 6 posts
- Joined: March 2015
- Offline
Personally, this is a first. I've never had this issue in the past, adding cryptos with other AOV's.
I've had this issue when I added cryptomatte render vars in Karma. Below is the fix:
Usd Render ROP>Driver>Render Command
husk --exrmode 0
This will force the EXR format to a legacy version, which I believe Nuke still uses(OpenExr 2.2, 2017), I believe the latest version of OpenExr is 3.2 - don't quote me on that though. You can find more information regarding Husk and karma cryptos in the links below:
Last bullet point under tips - https://www.sidefx.com/docs/houdini/nodes/lop/karmacryptomatte.html [www.sidefx.com]
Husk Render Args - https://www.sidefx.com/docs/houdini/ref/utils/husk.html [www.sidefx.com]
I've had this issue when I added cryptomatte render vars in Karma. Below is the fix:
Usd Render ROP>Driver>Render Command
husk --exrmode 0
This will force the EXR format to a legacy version, which I believe Nuke still uses(OpenExr 2.2, 2017), I believe the latest version of OpenExr is 3.2 - don't quote me on that though. You can find more information regarding Husk and karma cryptos in the links below:
Last bullet point under tips - https://www.sidefx.com/docs/houdini/nodes/lop/karmacryptomatte.html [www.sidefx.com]
Husk Render Args - https://www.sidefx.com/docs/houdini/ref/utils/husk.html [www.sidefx.com]
- rich_lord
- Member
- 20 posts
- Joined: June 2012
- Offline
Hmm, I'm also trying to set this up today and having issues. Even with the ```husk --exrmode 0``` mentioned above, I'm not getting it to work in Fusion.
I'm also not getting any joy in COPs though. It looks correct in MPLAY and the renderview, but not when I extract the mask in COPs.
If I use the Karma Crypto Matter node however, I can get useful data for COPs at least. But nothing that works in Fusion.
Anyone solve this?
I'm also not getting any joy in COPs though. It looks correct in MPLAY and the renderview, but not when I extract the mask in COPs.
If I use the Karma Crypto Matter node however, I can get useful data for COPs at least. But nothing that works in Fusion.
Anyone solve this?
- rich_lord
- Member
- 20 posts
- Joined: June 2012
- Offline
Ok I have worked out this issue for me.
If you want to use Cryptomatte from Karma in Fusion, this works for me.
1 - you have to have the ```husk --exrmode 0``` in the Render Command as Anton81 mentioned above.
2 - you have to bring in your exrs into Fusion with a Loader node. It wont work for whatever reason unless you do that. I didnt discover this straight away as I use Resolve+Fusion, not the standalone. So the input nodes are set up for you. Delete them and use a loader instead. Dragging exr's into Fusion also doesnt work.
Ok, this was a real mission, but its working for me now. Hope this helps someone else.
If you want to use Cryptomatte from Karma in Fusion, this works for me.
1 - you have to have the ```husk --exrmode 0``` in the Render Command as Anton81 mentioned above.
2 - you have to bring in your exrs into Fusion with a Loader node. It wont work for whatever reason unless you do that. I didnt discover this straight away as I use Resolve+Fusion, not the standalone. So the input nodes are set up for you. Delete them and use a loader instead. Dragging exr's into Fusion also doesnt work.
Ok, this was a real mission, but its working for me now. Hope this helps someone else.
- ysysimon
- Member
- 75 posts
- Joined: Dec. 2017
- Offline
- tamte
- Member
- 8777 posts
- Joined: July 2007
- Offline
- Anton81
- Member
- 6 posts
- Joined: March 2015
- Offline
tamteOh yeah, that's great, it's right there staring at me:Anton81or as a shortcut
Usd Render ROP>Driver>Render Command
husk --exrmode 0
USD Render ROP and USD Render ROP LOP -> Husk -> Rendering -> Enable Legacy EXR Mode checkbox
Karma ROP -> Advanced -> Driver -> Enable Legacy EXR Mode checkbox
Edited by Anton81 - Dec. 2, 2023 18:46:50
- Anton81
- Member
- 6 posts
- Joined: March 2015
- Offline
It's worth mentioning that enabling "Legacy EXR Mode" is not ideal, particularly if using Nuke. I say Nuke because Fusion may be using an older OpenExr version than 2.0. I couldn't find any info regarding Fusion's exr version. Anyway, with Legacy EXR Mode enabled, you'll no longer have access to the Multipart feature in the newer builds of OpenExr(2.0+). Multipart allows software packages to access individual parts without the need to read other parts in the file.
From the docs - https://www.sidefx.com/docs/houdini/nodes/out/usdrender.html [www.sidefx.com]:
Enable Legacy EXR Mode
When saving OpenEXR images with multiple AOVs, husk will normally save the images using multi-part EXR files. This extension (introduced in 2013) lets programs read a single AOV without having to read the entire image. This allows most software to work much more efficiently.
Some applications have not transitioned to support multi-part images. If your pipeline uses software that doesn’t support OpenEXR v2.0, this option will force husk to write out images in an inefficient, but more compatible format.
Helpful explanation to anyone using Fusion:
https://bryanray.name/2022/06/04/karma-cryptomatte-and-fusion/ [bryanray.name]
From the docs - https://www.sidefx.com/docs/houdini/nodes/out/usdrender.html [www.sidefx.com]:
Enable Legacy EXR Mode
When saving OpenEXR images with multiple AOVs, husk will normally save the images using multi-part EXR files. This extension (introduced in 2013) lets programs read a single AOV without having to read the entire image. This allows most software to work much more efficiently.
Some applications have not transitioned to support multi-part images. If your pipeline uses software that doesn’t support OpenEXR v2.0, this option will force husk to write out images in an inefficient, but more compatible format.
Helpful explanation to anyone using Fusion:
https://bryanray.name/2022/06/04/karma-cryptomatte-and-fusion/ [bryanray.name]
Edited by Anton81 - Dec. 2, 2023 20:09:09
- adershbalachandran97
- Member
- 1 posts
- Joined: Nov. 2019
- Offline
Hi everyone, I tried the above methods on Houdini 20 and karma and it still didn't work for me, So anyways I kept those setting as above and took a render and brought my karma render into nuke, and began to inspect the metadata for the crypto matte exr file. I had one previous working crypto matte file from another render that was working ( Renderman R25 ) and began to compare the metadata values.
I noticed that the " exr/cryptomatte/9171e81/name " key was not present on the karma render. From there it was easy
I added a ModifyMetaData node and added the key as " exr/cryptomatte/9171e81/name " and gave the layer name " CryptoMaterials " as a value. It can be based on any form of crypto matte based on object/primitive, kind, materials, etc.
After that, the crypto matte plugin began to work like a charm.
Thanks and Cheers
I noticed that the " exr/cryptomatte/9171e81/name " key was not present on the karma render. From there it was easy
I added a ModifyMetaData node and added the key as " exr/cryptomatte/9171e81/name " and gave the layer name " CryptoMaterials " as a value. It can be based on any form of crypto matte based on object/primitive, kind, materials, etc.
After that, the crypto matte plugin began to work like a charm.
Thanks and Cheers
- ysysimon
- Member
- 75 posts
- Joined: Dec. 2017
- Offline
adershbalachandran97
Hi everyone, I tried the above methods on Houdini 20 and karma and it still didn't work for me, So anyways I kept those setting as above and took a render and brought my karma render into nuke, and began to inspect the metadata for the crypto matte exr file. I had one previous working crypto matte file from another render that was working ( Renderman R25 ) and began to compare the metadata values.
I noticed that the " exr/cryptomatte/9171e81/name " key was not present on the karma render. From there it was easy
I added a ModifyMetaData node and added the key as " exr/cryptomatte/9171e81/name " and gave the layer name " CryptoMaterials " as a value. It can be based on any form of crypto matte based on object/primitive, kind, materials, etc.
After that, the crypto matte plugin began to work like a charm.
Thanks and Cheers
Cryptomatte in the same file as the beauty will work?
- KayPSL
- Member
- 7 posts
- Joined: Nov. 2014
- Offline
Hi everyone. I had a lot of struggle to get the cryptomatte to work in Houdini 20.0.56 and Nuke 15. I tried everything above and a lot of other stuff from the web. I had the problem, that the Cryptomatte looked always corrupted when I tried to pick colors from the cryptomatte with the cryptomatte node in Nuke 15.
I tried to render the images with the Legacy EXR Option and also the Hush --exrmode 0 flag. Which is still not working and I dont get separated EXR Files. Howsoever. The issue for my problem was a different one at the end. I'm just writing this in case someone else gets this issue someday.
In my case the problem was the EXR Compression I used in my images. I'm normally using "DWAA Compression" or at least I do this now really often in our Maya RedShift3D Renderpipeline. And it looks quite obviously that the attached image looks like some kind of compression issue after seeing it right now. But anyway, the problem was the compression. If I use the default EXR "Zip - single scanline" compression the cryptomatte works perfectly.
In Maya, Redshift splits the Cryptomatte AOV automatically from the EXR. And then these files are saved with zip compression.
I'm still searching for a solution to use the DWAA Compression and separate the Cryptofiles in separate files. It looks like something is still wrong in Houdini 20 with Karma and the Legacy EXR option. If someone knows how to solve this I'm happy to hear it. In the meantime I need to go back to ZIP compression.
Thanks for reading.
Cheers,
Kay
I tried to render the images with the Legacy EXR Option and also the Hush --exrmode 0 flag. Which is still not working and I dont get separated EXR Files. Howsoever. The issue for my problem was a different one at the end. I'm just writing this in case someone else gets this issue someday.
In my case the problem was the EXR Compression I used in my images. I'm normally using "DWAA Compression" or at least I do this now really often in our Maya RedShift3D Renderpipeline. And it looks quite obviously that the attached image looks like some kind of compression issue after seeing it right now. But anyway, the problem was the compression. If I use the default EXR "Zip - single scanline" compression the cryptomatte works perfectly.
In Maya, Redshift splits the Cryptomatte AOV automatically from the EXR. And then these files are saved with zip compression.
I'm still searching for a solution to use the DWAA Compression and separate the Cryptofiles in separate files. It looks like something is still wrong in Houdini 20 with Karma and the Legacy EXR option. If someone knows how to solve this I'm happy to hear it. In the meantime I need to go back to ZIP compression.
Thanks for reading.
Cheers,
Kay
- Anton81
- Member
- 6 posts
- Joined: March 2015
- Offline
- KayPSL
- Member
- 7 posts
- Joined: Nov. 2014
- Offline
- Anton81
- Member
- 6 posts
- Joined: March 2015
- Offline
- Semmel_3G
- Member
- 3 posts
- Joined: June 2014
- Offline
hey,
i ran into the similar issues today with houdini 20.5 and nuke 15.1v2. i tried exrmode 0, all compressions also uncompressed, legacy mode and your metadata idea. nothing helped. i just saw, that the main RGBA alpha channel in general is also broken. see attachment. i also tried everything many things in nuke...
EDIT:
So, i figured out, that this problem only occurs on my second machine and only in 20.5. unfortunatly 20.5 renders 12 seconds and 20.0 45 seconds. same as cpu. i am getting more confused. maybe i should go to sleep.
its working on
Threadripper Pro 32 Core
6x 2080ti
not working on:
Threadripper 64 Core
2x 4090
that pc had render errors in the past too. segmentation errors that drove me crazy. also sidefx couldnt help. i tried everything. so now that pc seems to trigger some serious problems with karma xpu. crap.
EDIT AGAIN SRY, i thought i leave my journey as it was:
now it works. karma in 20.5 has some advanced sampling settings that have no impact on renderspeed i think.
i set it from variance to uniform. now the artifacts are gone. phew.
karma rendersettings node - advanced - sampling - dropdown menu
i ran into the similar issues today with houdini 20.5 and nuke 15.1v2. i tried exrmode 0, all compressions also uncompressed, legacy mode and your metadata idea. nothing helped. i just saw, that the main RGBA alpha channel in general is also broken. see attachment. i also tried everything many things in nuke...
EDIT:
So, i figured out, that this problem only occurs on my second machine and only in 20.5. unfortunatly 20.5 renders 12 seconds and 20.0 45 seconds. same as cpu. i am getting more confused. maybe i should go to sleep.
its working on
Threadripper Pro 32 Core
6x 2080ti
not working on:
Threadripper 64 Core
2x 4090
that pc had render errors in the past too. segmentation errors that drove me crazy. also sidefx couldnt help. i tried everything. so now that pc seems to trigger some serious problems with karma xpu. crap.
EDIT AGAIN SRY, i thought i leave my journey as it was:
now it works. karma in 20.5 has some advanced sampling settings that have no impact on renderspeed i think.
i set it from variance to uniform. now the artifacts are gone. phew.
karma rendersettings node - advanced - sampling - dropdown menu
Edited by Semmel_3G - Sept. 10, 2024 16:14:28
-
- Quick Links