Psyop / Cryptomatte

Cryptomatte Nuke plugin, Fusion plugin, sample images, and specification
BSD 3-Clause "New" or "Revised" License
640 stars 151 forks source link

Merging Cryptomattes #105

Open midvale99 opened 5 years ago

midvale99 commented 5 years ago

Am I right in thinking that one limitation of Cryptomattes is that you can't merge them? We're rendering some cars using Vray in Maya. We have a car that has its wheels with primary visability set to off and then a set of different wheel renders that we swap out in Nuke. Problem is, the Cryptomattes are visible for the wheels in the car render even though the wheels are hidden in the render. This means that merging over new wheels doesn't work with the Cryptomattes. Is there anyway round this?

andranikvfx commented 5 years ago

Are you rendering the replacement wheels separately?

On Tue, Feb 26, 2019 at 6:13 AM midvale99 notifications@github.com wrote:

Am I right in thinking that one limitation of Cryptomattes is that you can't merge them? We're rendering some cars using Vray in Maya. We have a car that has its wheels with primary visability set to off and then a set of different wheel renders that we swap out in Nuke. Problem is, the Cryptomattes are visible for the wheels in the car render even though the wheels are hidden in the render. This means that merging over new wheels doesn't work with the Cryptomattes. Is there anyway round this?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Psyop/Cryptomatte/issues/105, or mute the thread https://github.com/notifications/unsubscribe-auth/AhlIdMhHZfg5XTrh_P8XMn0mUCznkfHyks5vRUENgaJpZM4bSQ_e .

acjones commented 5 years ago

It's not actually a technical limitation of the way Cryptomattes work, but there is no implementation of a "cryptomerge" currently in the Nuke plugin. The Encryptomatte gizmo does something sort of like a merge, but it only works on one matte at a time. So if you don't have many mattes in the foreground, you might be able to key them and then use Encryptomatte to merge them into the main Cryptomatte layers.

The technical issue that makes it difficult to implement Cryptomerge is that implementing a sort in the form of Expression nodes gets rather ugly. Maybe BlinkScript could be an answer. Otherwise, it would likely be fairly easy to do in a compiled plugin.