步骤一:对于要渲染的场景,确保当前激活的渲染器为VRay。
步骤二:想要渲染出EXR的Deep图像,必须确保当前的渲染器采样设置为Adaptive或者Adaptive Subdivision。
步骤三:在Frame Buffer区域,设置VRay raw image file输出类型,并且在弹出窗口中勾选Deep EXR。
步骤四:在Render Elements标签下,添加一个VRayObjectID的渲染元素。添加完之后设置输出类型参数为Integer(no AA)。重命名渲染元素。
步骤五:渲染元素里面的VRayObjectID生成出来的遮罩是由场景中每个节点的物体ID控制的。在渲染之前去设置每个节点的物体ID。为每个茶壶以及相对应的hair设置为一样的物体ID。给予地面平面一个ID。一共设置四个ID。
步骤六:渲染场景生成EXR。
步骤七:为了在Nuke中读取Deep EXR文件需要使用到DeepRead,当在Nuke中使用Deep EXR的时候,只能去使用以Deep开头的节点。
步骤八:为了能够给中间的茶壶使用颜色矫正,单独选出这个节点。把channel viewer改为Mattes,然后调节f-stop,直到能够看到颜色之间的差异。通过放置鼠标就能够很轻松准确的查看到了,然后鼠标放上去并且去查看红色通道的数值。
步骤九:接下来,添加一个DeepExpression节点来但选出中间的茶壶。添加完之后,设置图像的RGB以及Alpha通道为表达式。
Mattes.i==2 ? rgba.red : 0.0
Mattes.i==2 ? rgba.green : 0.0
Mattes.i==2 ? rgba.blue : 0.0
Mattes.i==2 ? rgba.alpha : 0.0
这里之前设置的渲染元素Mattes.i就起到了关键作用。数值为2,也就是想要单独选出来的那个物体的ID。
步骤十:使用另一个DeepExpression来中间的那个茶壶从图像中移除出去。添加完之后,设置图像的RGB以及Alpha通道为表达式。
Mattes.i!=2 ? rgba.red : 0.0
Mattes.i!=2 ? rgba.green : 0.0
Mattes.i!=2 ? rgba.blue : 0.0
Mattes.i!=2 ? rgba.alpha : 0.0
把表达式中间的i==2改为i!=2完成了一次反向选择。
步骤十一:添加个DeepMerge节点,重新合并这两元素,链接到两个表达式节点输出端。
步骤十二:为了调节中间茶壶的颜色,在单选出来茶壶的DeepExpression只会添加一个DeepColorCorrect。当前的Color-Correct节点只会作用于中间的茶壶。
想要在Nuke的3D空间中查看渲染出来的元素,添加一个DeepToPoints节点。然后添加一个Camera,设为3D并且可以移动它。为了能够正确的显示出点云信息,在Nuke里面的3D相机必须跟渲染时候的渲染相机设置相匹配,否则出来的点云就会是扭曲的。