概述介绍
分层渲染实际上是一个很传统的问题,相信很多参与过动画或影视项目的朋友都使用过分层渲染来解决最终的渲染问题。本次话题主要是介绍分层渲染的基本概念和一些扩展讨论。
那么说到分层渲染就一定要将合成联系在一起,因为分层渲染是为合成服务的。下面我们来看以下几张图:
图1
图2
图3
这三张图像分别是一张完整的图像中的一部分,第一张是一辆已经渲染好的车,第二张是这辆车在地面上的投影,第三张是一张普通的背景照片。那么通过合成软件我们可以很轻松的将他们整和在一起,并且还可以在后期软件中对不同部分进行调色及修改使之匹配。相信通过刚才的几张图我们已经基本知道在maya里分层渲染的用途了。
图4
分层渲染后我们还会得到哪些实惠呢?
在计算机图形使用于动画和电影之初,计算机的性能限制了渲染能力,为了使计算机能完成预期的工作,人们不得不将一个场景分为几部分进行渲染。分层渲染可以减轻渲染对于机器的压力。另外在处理分层素材时我们会像在photoshop中处理图层一样方便快捷,对于画面中不同元素的色彩明度等信息可以轻松的作修改,这样就可以减少在三维软件中的修改工作。
基础原理
我们先从最简单的分层方式开始。最基础的分层方式是将最终镜头中的角色、阴影和背景分离出来进行渲染。
通常提到的角色层多数是指镜头中的角色或者运动相对背景比较大的物体,比如飞机或者汽车等道具。所以角色层的定义相对是广义的,是处于场景之上相对运动比较快的部分。那么阴影层多数是场景中角色层中物体产生的投射到背景上的阴影,背景层则是处于最后的场景部分。
为了日后渲染方便通常会在分层时,把层单独另存储为层文件,也就是说我们分多少层就有多少个Maya文件。当然这是一个比较传统的做法,自从有了渲染层后很多分层方式都有了增强,我将在日后逐步的探讨这些问题。
图5
图6
角色层文件
我们来看一下这些层如何分离,角色层渲染时可以将背景直接隐藏或者删除。
当然有些特殊情况直接隐藏是会出现异常效果的,比如一个进门的镜头将门框隐藏掉后渲染的角色将是完整,合成时会发现角色如果放在背景层之上,角色会变成站在门里,如果角色层放在背景层之下就看不到角色了。
图7
[page]
角色与场景发生遮挡
所以这是我们对于角色需要进行特殊处理,需要给具有遮挡关系的场景部分赋予统一材质,并将材质的遮罩类型改为black hole,这时渲染出的角色就会具有遮挡关系。
图8
图9
背景层在渲染时相对简单直接将角色隐藏或者删除就可以了。
图10
隐藏或删除角色后渲染的场景
阴影层的分离会有些麻烦,要直接渲染出角色在墙壁和地面上的投影需要给接受阴影的背景部分一个backgroud材质来接受阴影。
图11
这时我们会发现如果是不平坦的场景它会产生自身阴影的投射,我们实际上只需要角色的阴影。场景中如果使用光线追踪还会渲染出反射。
图12
这时我们可以选中所有的背景模型,在属性批量更改列表中将场景的产生阴影属性关闭,同时将反射和折射都关掉。这时渲染结果中依然有我们不需要的部分就是角色,同理可以在批量属性更改列表中关掉角色的一级光线和折射反射,这时我们得到了真正的阴影信息。
图13
图14
图15
但渲染结果中依然有我们不需要的部分就是角色,同理可以在批量属性更改列表中关掉角色的一级光线和折射反射,这时我们得到了真正干净的阴影信息。
图16
图17
[page]
接下来后期中将这些元素整合在一起, 就得到了最终的效果。
图18
由于本次主要介绍的是Maya中的分层渲染,关于后期的内容我们暂且略过,以后我们将更深入的讨论后期在三维制作中的用途。
当然我们经常因为场景过多也会将场景分为前景、中景和背景来输出渲染。那么角色层有时也会面临角色数量过多的情况,为了减轻渲染压力我们也会经常将角色分为不同层次渲染。比如场景中有三个角色,我们可能会将他们单独分成三个层。这样分层也会给我们带来一个好处,当需要对场景中不同角色的色彩和明度等信息进行修改时会方便,当然在处理不同角色进行分层时也要考虑角色与角色之间的遮挡关系。
如图下面是以前为伊利制作的商业案例画面:分别是天空、背景山坡、包装盒阴影、包装盒、春联背景、草和角色。(以下图片仅用于学习)
之所以这样分层,主要是考虑在渲染后每一部都可以独立在后期调节,这样就可以提高我们的工作效率。
图19
图20
当然分层的基本原则是尽量将画面中完整部分分离出来,而且便于修改。有时我们可以实现预计到修改最频繁的部分,比如说下图中的角色的围巾和后面的春联,那些可能会被导演要求反复修改,所以我们会将它们单独分层。
以上是最基本的分层方案,我们经常会发现当渲染后高光或者自身阴影不理想,那么如果我们使用之前分层方式进行输出势必会造成重新修改渲染的结果。为了能够减少返工并增强画面效果我们可以将高光、漫反射、自阴影等分离出来,我们来看一下如下的一组分层图片,这些分层信息经过合成被整合成完整的图像信息,在修改和增强效果上我们都会有很大的空间,并且有一些特殊的层信息会使我们的画面效果得以提升。我们还可以根据需求自己分离出不同效果的层来实现画面要求。
图21
图22
其实在于分层渲染的理解完全是基于合成概念下的,掌握更多的合成知识将会有助于我们提高渲染的效率和品质,下次我们将更深入的探讨分层渲染与合成之间的关系。