CryptoMatte是Jonah Friedman和Andy Jones在Psyop时创建的工具。在渲染时可自动创建物体和材质id蒙版,用于后期合成时对独立物体和材质蒙版的提取。
常规流程要根据后期合成和特效师的要求渲染不同物体id蒙版或材质蒙版,这个过程往往也是比较耗时,而且需要单独输出渲染的。自从有了CryptoMatte技术,只要添加上object和material两层,所有物体的id和材质 matte信息,都可以在后期单独或组合提取,大大方便渲染过程。
以下主要介绍V-Ray NEXT && maya中Cryptomatte的创建方法以及Nuke中提取通道的方法。
创建Cryptomatte
在V-Ray输出中添加Cryptomatte
render element 中 Crymptomatte选项,熟悉的Material ID Cryptomatte参数面板
在Cryptomatte的参数面板中有几种ID type, 通常用的最多的就是Material ID,Node name对应了maya group的层级, 而Node name with hierarchy 则是对应了多层级的group。比如当前组为A,在A组内有a1和a2,name with hierachy 可以把a1 a2分离处理。当然这么做的前提是数据整理必须到位,如果数据层级比较离散,则需小心使用。
在早些V-Ray NEXT版本中,Cryptomatte是不支持CUDA加速的,官方论坛说后面的版本有改善。具体可以在渲染之前通过改动选项测试一下结果。此外,另一个匪夷所思的选项也可能会导致渲染无结果。
Progressive 必须更改为Bucket,这个经典bug在速度通道渲染也有出现
此处顺便表扬一下redshift,很早的版本就已经GPU支持Crymptomatte了。
设置正确后我们获得了一个理想的结果。
其实大部分情况下Material ID足够用了。为了方便演示,我选择了node with hierachy,这样可以进行更多丰富的调节。
Node with hierachy颜色分布更细致
Cryptomatte是Nuke的一个开源插件,需要下载安装。
可以去github下载,https://github.com/Psyop/Cryptomatte
由于众所周知的原因,下载速度奇慢。
这里我在网盘保存了一份,可以完美支持Nuke 12
链接:https://pan.baidu.com/s/1_ebr3ZanbeZqk_qoYbsGhw
提取码:fqri
===============如果上述文件解压失败=================
链接:https://pan.baidu.com/s/1mpNNh5PzYaXTFJzbpOS5dQ
提取码:u9qm
这是我的.nuke整个文件夹,建议备份自己的.nuke后直接拿来用。
解压后将文件(不是文件夹)复制到 C:\Users\‘你的用户名’.nuke
习惯用Multi channel EXR的同学可以参考之前的帖子拆分出Crymptomatte,在打开Nuke后进入脚本编辑器run一下就可以了,快捷键是"e"。
https://www.jianshu.com/p/e30cc3b4cc08
这个案例仅演示用Cryptomatte调节RGBA层
tab键通过关键字呼出crymptomatte插件
之前的RGBmask流程,一个画面中只能有三个纯色数值才能进行shuffle,这也是shuffle的基本原理。而Cryptomatte的基本逻辑是,画面内的色值虽然离散但是具有唯一性,且是包含了唯一的metadata,所以可以进行采样,进而合并转化为alpha输出。
可以看出在原始Crymptomatte上,车身和侧裙并不是一个mask,通过Crymptomatte的颜色多选功能可以合并为一个通道。
选择节点Picker Add 功能后,就可以按住Ctrl 或者Command键在 Crymptomatte上选择相应的颜色了。
将Cryptomatte输出连接到调色grade节点上
最后做了个粗暴的grade数值,让结果明显一点 =v=
由于把车身和侧裙rocker部分合并,调色同时在两个部分生效了实际可以根据画面需求进行更精细的调节,不再赘述。
网友评论