1、MAYA 景深做法大体上就是两种:1、用摄像机里面自带的景深做法2、另外一个就是要用到 Mental Ray 里面的这个节点,链接到摄像机里面的属性的链接。下面具体讲一下各自的做法一、用摄像机自带的景深,先要打上,接着 这个属性里面输进,你的渲染的主要物体到摄像机的距离。这个距离的测量有两个办法:1、在MAYA 里把 Display Heads Up Display Object Details 参数打上界面就会多了其中 这个属性就是你选着物体到摄像机的距离,你选着上物体就会显示这个距离的。2、CreateMeasureDistance Tool 点到你物体到摄像机出创建, 这个距离输进里 面
2、去,或者进行 连接。两种做法的区别,第一种之比较适合做镜头不动的效果就是单帧,第二种就是镜头动的你的景深还是跟着你的镜头动。二、在摄像机属性里面链接 Mental Ray的这个节点,打开节点属性 这要属性是这两个,Plane 表示目标物体,也就是清晰物体离镜头的距离,注意是 Maya 中距离数值的相反数。Radius 表示模糊程度,数值越大越模糊。物体到摄像机的距离链接到 Plane 这个属性上面去,链接方法和上面一样,不过要注意的是这里的链接属性和 Maya 中距离数值的相反数,如果用的 CreateMeasureDistance Tool 进行属性链接的话要连接上一个。最后先要做出来的景深
3、效果好看的话,就这渲染器设置里面 增大 MR 渲染的采样值。渲染的效果会好很多。这是我学习景深的一些心得,景深效果的好坏灯光也很重要,对于景深还有一些别的做法,如用一些景深插件啊,对物体到摄像机具体的大小和景深的模糊度进行连接属性的控制,办法很多,这里只是最简单的做法。具体步骤也简单,1、把你所要用的所有模型全部选择,然后给一个 suface shade,颜色就是黑色。2、然后渲染设置中,找到 maya software render options给他一个environment fog 。然后修改下它的属性,3.在 environment fog 的属性面板中勾选 physical fog,
4、 在 fog 中修改 fog opacity 的数值,最好用 IPR 渲染着看。4、黑白效果不好的话,在修改一下 clipping planes 属性中的 fog near distance,和 fog far distance。基本上可以得到一张比较不错的黑白图。然后再在 AE 中合成就可以。至于 fusion 中,他支持 AE 的插件,这个插件的道理应该和 AE 相同。实拍素材与三维素材进行合成时,对三维素材进行与实拍素材相匹配的景深的处理,如加入大气效果,影深等,能极强地增加三维素材的真感。但 Maya 渲染用于确定深度信息的 Depth Channel 却不能消除锯齿。与经过消锯齿处理
5、的RGB 通道图像在边缘上无法完全匹配,在合成时边缘的处理上会带来很多问题。既然 MAYA 自身无法完美地渲染出 Depth Channel,我们就必须要使用其它的办法来解决。Depth Channel 实际上是以灰度信息来表现每个像素点离摄像机的远近,而且其远近距离也只是一参考量,以镜头中离摄像机最远的像素点为黑,最近的像素点为白。基于这种原理,我们可以用 maya 强大的材质系统来模拟出这种黑白关系,再用 Software 以抗锯齿的方式渲染出来,就可以得到与RGB 通道图像完全匹配的 Depth Channel。把 Ramp 贴图改为黑白渐变。把 SurfaceShader1 材质赋给场
6、景中的所有物体,在 HyperShader 中选择Projection1,在 Persp 视图中调整 Projection1 的大小和位置,使之 Projection1与为摄像机的水平面平行,并且是远黑近白。渲染时时把反锯齿与渲染 RGB 通道图像的设置设为一致,不渲染 Alpha 通道,把它作为普通的 RGB 图像进行渲染。最后再把渲染好的灰度图像在后期软件中进行合成,把它作为 RGB 通道图像的的 Depth Channel 即可。这种方式只是简单地计算平面之间的距离,但却简单易行,可以用于绝大部分的环境中。如果在对景深要求非常精确的微距镜头中,就需要用第二种方式来精确地计算每个像素点到摄
7、像机之间的距离。在 Hypershader 中建立这些材质节点。使用 Connecttion Editor 把 SamplerInfo 的 Point Camera 属性值输出给DisanceBetween 的 Point1 属性。把 DistanceBetween 的 Distance 属性输出到 SetRange 的 ValueX 属性。把SetRange 的 Min 和 Max 分别设为 0 和 1,Old Min 和 Old Max 分别对应场景中物体离摄像机最近和最远的距离,这个距离值可用 DistanceTool 来测量。把 SetRange 的 OutValueX 输出到 Ram
8、p 的 vCoord。再把 Ramp 设为黑白渐变,并把 Ramp 输出的颜色连接到 SurfaceShader 的 Outcolor 上。这样精确计算Depth Channel 的 Shader 就制作出来了。现在再来回头看看它的原理,首先,我们从 SamplerInfo 的 Point Camera 属性中得到每个像素点在摄像机坐标系下的空间坐标。然后输出到DistanceBetween 节点的 Point1 中,DistanceBetween 节点用于计算两个矢量之间的距离,现在我们需要求得摄像机坐标和每个像点坐标之间的距离,由于得到的像素点坐标值是以摄像机坐标为原点的,所以 distanceBetweem 的Point2 值为 0 即可。再用 SetRange 把所有的距离值归范为 01 之间。再输出到 Ramp 贴图上。即最近的值为 0,为白色,最远的为 1,为黑色。MAYA 教程 用雾化来做 Z 通道) J C$ R4 O* j/ “ e; e4 - |