Loading
0

Maya-Vray-Nuke 深度合成图文教程

vfxinfo 原创翻译

转载请注明作者与出处

翻译:保罗大D

原始文章地址:http://therenderblog.com/deep-compositing-with-vray/ 感谢作者的无私分享

前段时间Vray3.0 for Max已经发布了,其中最让人兴奋的一项功能就是Exr2.0的支持,也就意味着Vray可以输出Deep通道了.这给CG的后期制作提供了巨大的便利特别是对于LiveAction来说,那可是相当方便的.还有就是对于毛发跟烟雾流体的遮罩问题,也可以完美解决.调节起来也是相当方便的.唯一的问题就是Deep层的数据量是很大的.需要比较多的硬盘空间.

RMAR以及Mantra都是能够支持Deep,多软件流程的问题也可以通过Deep来解决.还是相当方便的

这里是作者早期的一篇文章,那会儿Vray3.0还没有出来.所以以早期版本讲解一下如何使用,3.0的用户其实也是可以直接使用的,方法都是一样的.

首先你需要一个插件(3.0请直接无视),如下图所示.你可以去Vray的官方论坛或者GG一下.如果还没有的话,你可以去找Vray官方的售后支持.他们会给你免费发送的.

说一下如何安装

下载好插件之后.里面有一个Readme,按照指示一步一步来...这里作者没有具体说明,忽略.maya2014里面你不需要替换掉任何文件,因为Vray插件已经更新内置了这项功能.,max里面使用给予的文件替换掉vrayplugins里面的“vraystereoscopicNNNN.dlo文件

现在你就能渲染输出Deep文件了,但是你还得在Nuke里面读取他.所以你需要把vrstReaderDeep.dll放到你的Nuke插件路径下.这个文件并不会在你Nuke里面生成一个新的Read节点,取而代之的是让你的Deep Read能够直接去读取Vray输出的Deep通道

3D场景

这是我用Qtown脚本生成的简单城市场景.在渲染层里面把他划分了一下.地面一层,前面的建筑物一层,最后面的建筑物一层

如何渲染Deep

如果你是使用的maya,在渲染设置里面,Vray Common面板里面,拉倒最底下,你会看到 “post-translate Python script这么一项.然后输入下面的脚本

from vray.utils import * p=create("OutputDeepWriter", "deepWriter") p.set("file", "path/to/deepfilename..vrst") # disable normal output to prevent errors findByType("SettingsOutput")[0].set("img_file", "")

简单来说,这个脚本会覆盖掉你当前的输出设置,并且会渲染输出一个”.vrst”的文件,里面包含着你场景的Deep数据,以及你的Beauty,还有一些其他的渲染元素

如果你想要使用exr文件的话,vrst转换为exr也是很简单的.直接使用vrst2exr.exe就可以了(把需要转换的文件拖拽过去即可).Nuke里面的DeepRead,exrvrst都是可以读取的.

Max用户:创建一个Vray的帮助物体,位于(Helpers >> VRay >> VRayStereoscopic).设置ShadeMap 模式为 “Render shade map.打开 “adjust resolution” 属性.选择Deep pixel mode并且选择输出路径.渲染之后再你就能在之前你选择的路径你找到ShadeMap,也就是Deep通道

Nuke里面读取Deep文件

创建DeepRead节点,然后使用DeepMerge节点把Deep文件合并到一起.这时候你就能见到Deep数据是有多么的好用了.你能够看到你的图像是完美的合并在一起的,他们之间是不需要渲染任何遮罩的(不管你合并时候的顺序是怎样的).因为每个文件的Deep数据会为每个像素的Z轴线存储一个数值

你可以在通道里面查看Deep信息,鼠标放在图片上能够查看到Deep的数值

研究一下其他的Deep节点

使用DeeptoPoints节点,可以让你在Nuke的三维试图里面查看到图像的点云信息.如果你想要把nuke里面的三维物体放置进去的话,这是非常有用的.但是你得需要从你的三维软件里面来导出相机,并且在Nuke中读取

在场景中放入Nuke3D物体,之后我们可以使用Deep图像来把他们合并到一起去(遮罩什么的会完美匹配)

使用Scene节点把他们合并到一起,并且使用ScalineRender来渲染他们.现在我们就可以使用DeepFromImage节点来提取刚出图像的Deep数据了.然后我们便可以把刚刚生成的图像跟之前的图像合并到一起了.他们之间是不需要任何遮罩的,更不需要你来手动ROTO.因为他们都存在Deep数据,所以知道如何合并到一起了.会自动处理前后关系

你可以随意去调节你的物体的位置,看看他们是如何跟场景交互的.放在原始物体的前面后面都是没有问题的,不需要画ROTO.

总结

通过上面的简单小案例,我们能否看到Deep合成的无限可能性.当跟复杂场景交互的时候,比如流体,毛发一类不太方便渲染遮罩的,还有就是LiveAction的部分.这个完全就可以加入到你的工作流程中去.最后给个小提示.你可以使用DeepRecolor节点来合并那些不支持Deep数据的渲染器渲染出来的图像