Cryptomattes broken?

Cryptomattes broken?

Ehren_AddisC9LA5
Observer Observer
9,816 Views
6 Replies
Message 1 of 7

Cryptomattes broken?

Ehren_AddisC9LA5
Observer
Observer

Every time I render a sequence using crypto mattes objects on one machine, they work, but every other frame renders as one solid matte.  It's maddening and affecting a lot of projects.  Any insight would be helpful.

0 Likes
9,817 Views
6 Replies
Replies (6)
Message 2 of 7

ehren.addis
Participant
Participant

The attached image shows, advance a single frame and it goes from working to solid matte.  Advanced another frame and it works again, advance another and it's solid.  This is another computer and scene from the previous.

 

How does this work and how are people using it?  Am I along on this?  Did I miss something on setting up the render passes?

0 Likes
Message 3 of 7

CiroCardoso3v
Advisor
Advisor

Is this something random? Or does always happen on the same frame?

It would be useful if you provide a log for each frame. That way the Devs can see if something is wrong.

Lead Enviroment Artist @Axis Studios

Arnold Discord Server


Ciro Cardoso

EESignature

0 Likes
Message 4 of 7

Stephen.Blair
Community Manager
Community Manager

@ehren.addis wrote:

The attached image shows, advance a single frame and it goes from working to solid matte.  Advanced another frame and it works again, advance another and it's solid.  This is another computer and scene from the previous.

 

How does this work and how are people using it?  Am I along on this?  Did I miss something on setting up the render passes?


That's the EXR preview. Is it the same in the rendered EXRs? Can you post the metadata from the EXRs, or the EXRs themselves?



// Stephen Blair
// Arnold Renderer Support
0 Likes
Message 5 of 7

ehren.addis
Participant
Participant

Here's the project.  Same on a windows 11 and windows 10 machine CPU rendering.  Everything is updated.  This project was a new one with three spheres and nothing else.  Did it right out of the box.  The rendered EXRs are the same.  You can even see it in the file size as it writes them out.  The only thing that made a slight difference was unchecking "Strip Object Namespaces", but then it renders a different color order every other frame. 

 

Would like some better documentation on the shader.  What does "Process Maya" mean to a Max guy?  Too much time spent on google and not enough working.

0 Likes
Message 6 of 7

Stephen.Blair
Community Manager
Community Manager

@ehren.addis wrote:

Here's the project.  Same on a windows 11 and windows 10 machine CPU rendering.  Everything is updated.  This project was a new one with three spheres and nothing else.  Did it right out of the box.  The rendered EXRs are the same.  You can even see it in the file size as it writes them out.  The only thing that made a slight difference was unchecking "Strip Object Namespaces", but then it renders a different color order every other frame. 

 

Would like some better documentation on the shader.  What does "Process Maya" mean to a Max guy?  Too much time spent on google and not enough working.


This problem is actually because of a known issue (logged as MAXTOA-1528). When you animate objects, the object names change every frame. And since cryptomatte object AOVs are based on the object name, this causes the cryptomatte to change every frame.

 

One workaround is to use an operator to assign a constant name. Forunately, there's a constant "nodeName" assigned by MAXtoA that you can use.

 

maxtoa_operator_nodeName.png

 

I've attached an updated scene file with the operator.

 

If you export an ASS file, you'll see the "nodeName"

polymesh
{
 name /Sphere001/0
 matrix
 1 0 0 0
 0 1 0 0
 0 0 1 0
 -28.1448898 23.762558 -0.0958604664 1
 shader "/Map__4"
 opaque on
 id 2478825473
 vidxs 2880 1 b85UINT
F$'GFH$).]\$*jtp$,R7/$.9NC$/ueW$1]'k$3D?*$5+V>$6gm
 nidxs 2880 1 b85UINT
F$'GFH$).]\$*jtp$,R7/$.9NC$/ueW$1]'k$3D?*$5+V>$6gm
 uvidxs 2880 1 b85UINT
F$^-0u$_iH5$aP_J$c7v_$dt8t$f[P4$hBgI$j*)^$kf@s$mMX
 vlist 482 1 b85VECTOR
zz9'[hC]muCB8[N?E9'0D;aGIHq8[,I$9'0D;aTg'\8Yr*R9'0
 nlist 482 1 b85VECTOR
48^uR]F7=my]n\t@8&*5F8F4B9`fc]:8%[@]8F4B9`t*bX8$F-
 uvlist 561 1 b85VECTOR2
zy7WJKay7e-P7y7kt'wy7reTby7v3k-y8$W,My8(%Bly8+HY7y
 smoothing on
 disp_map NULL
 declare mtlID uniform INT
 mtlID 960 1 b85INT
B!$?H6($$$&j
 declare nodeName constant STRING
 nodeName "Sphere001"
 declare gBufID constant INT
 gBufID 0
 declare nodeRenderID constant INT
 nodeRenderID 65535
 declare nodeHandle constant INT
 nodeHandle 2
 declare wireColor constant RGB
 wireColor 0.600000024 0.894117653 0.721568644
}


 
Process Maya is documented.

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


What isn't documented afaik in the Arnold docs (but is in the Cryptomatte docs), is that a "namespace" is used for the crypto_asset AOV. So, for example, all three spheres could be in a "spheres" namespace and the crypto_asset AOV would give you a single matte for all spheres.

 

 



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

Ehren_AddisC9LA5
Observer
Observer

Thank you. I was beating my head watching tutorials and the utter lack of finding information pertaining to animation really made me feel like one of the last one using max.  Shouldn't be voodoo science for the layman this far along.  I do hope that bug gets fixed soon.  Crypto mattes have been a HUGE workflow plus.  Thanks again.

0 Likes