实例3-动画遮罩与光影分离(UseBackground材质应用)
【用于场景的材质(也称明暗器)选择】
打算使用一个光线较为柔和的室外场景。如下图,当我按以前的方法(“实例2-反射与折射场景”中第3步)将贴图赋予自发光通道,画面局部将会很耀眼;而使用Lambert这类材质又很难全局照亮。因此,我使用SurfaceShade材质进行场景贴图。因为SurfaceShader材质具有不受场景光照的特点,能保持贴图的原始明暗。
不过SurfaceShader材质不受光照影响的这个特点拒绝了我们获取阴影的要求,为了得到阴影,我们需要引入UseBackground材质――对渲染层赋予lambert材质后使用Shadow的通道过滤也可以得到整体的阴影,但使用UseBackground材质可获取特定区域的阴影和反射。
在进行操作之前,我们先要了解下UseBackground材质的特性和作用(以下简称UB材质)。
遮罩:将UseBackgroundAttributes栏下的所有参数设置为0(SpecularColor调为黑色),则该材质所赋予的物体将起到“黑洞”的作用-被“黑洞”物体所遮挡的场景将不会被渲染,且遮挡处为透明(需要支持透明通道的图片格式)。此时,MatteOpacity下有两个蒙板模式可选:SolidMatte(固体蒙板)模式时,MatteOpacity参数值表示被遮挡区域的Alpha通道灰度;OpacityGain(不透明增益)模式时,MatteOpacity参数值表示遮挡物体本身的透明度。OpacityGain为Maya默认的蒙板模式,其对物体为100%遮挡,MatteOpacity值影响的是物体获取反射和阴影的强弱。
下图为两种模式的区别:
*如果使用MentalRay渲染,则还需要将mental ray栏下的OcclusionMask参数调为0,否则FG会以灰度掩盖透明部分。
阴影获取:在“黑洞”物体的基础上,调整ShadowMark值大于1,表示获取灯光照射物体所产生的投影的百分比。
因为UB材质只对被赋予该材质的物体起作用,如果只对地面或墙面这样的阴影接受面设置UB材质参数,投射阴影的源物体的自身阴影将无法得到。 反射获取:在“黑洞”物体的基础上,调整Reflectivity(反射率)和ReflectionLimit(反射次数),表示物体反射周围物体的程度,而UB材质的物体本身不会被其他物体所反射。
高光获取:SpecularColor的颜色表示UB材质物体的高光颜色:黑色表示无高光,白色会使物体类似塑料,而使用接近原物体的表面色则会使物体类似金属。因为该参数没有相应的效果调节(如高光范围,高光过渡),因此一般配合反射参数使用。
步骤进行: 1. 全选场景中的所有物体(包括灯光),添加到新建的渲染层。
2. 开启渲染设置和灯光中的光线追踪,渲染当前场景。
使用了SurfaceShader材质的地面,不接受灯光阴影。因此分层渲染可采用以下流程:
渲染背景->渲染前景->渲染运动物体(遮罩应用)->获取阴影->获取反射
3. 选择layer1渲染层,右键CopyLayer复制新的渲染层(Maya2008需要进入渲染层上方的Layers菜单中选取),命名为Back;
4. 继续复制多个渲染层,并按需要将其命名。如下图,我将背景和地面作为Back层,仙人掌作为Middle层,跑道作为Front层,四驱玩具赛车作为Car层。此外还需要阴影层和Car层的复制层。
5. 各层设置如下:
Back层:因为背景不会反射场景其他物体,因此除了灯光和背景,其他物体直接Ctrl+h隐藏;使用Presets的Diffuse设置只获取漫反射贴图。
Middle层:同Back层。
Front层:使用属性过滤的方法设置周围物体的渲染不可见(PrimaryVisibility为Off),四驱赛车直接Ctrl+h隐藏;设置渲染层的RenderPassOptions为Diffuse,获取漫反射和镜面反射贴图(注意区别Back的设置,可参考“实例2-反射与折射场景”的第10步)
Car层:赋予跑道和四驱车UB材质,设置为“阴影获取”;其他物体直接Ctrl+h隐藏;跑道物体的CastsShadows(产生阴影)为Off。
*此方法效果等同于使用Presets的Shadow。
Car1层(Car层的复制):赋予跑道UB材质,设置为“反射获取”;其他物体直接Ctrl+h隐藏;四驱车的PrimaryVisibility为Off;跑道物体的VisibleInReflections(反射可见)为Off。
Car2层(car层的复制):赋予跑道UB材质,设置为“遮罩”;其他物体直接Ctrl+h隐藏;开启四驱车的PrimaryVisibility为On;使用Presets的Diffuse设置只获取漫反射贴图。
*如果想让四驱车反射周围物体,则需要再增加一个渲染层,将赛车模型赋予UB材质获取反射贴图。
Shadow层:Ctrl+h隐藏四驱赛车,然后赋予地面和后景UB材质,设置为“阴影获取”;使用Presets的Shadow设置该渲染层只渲染阴影。
6. 渲染输出设置。除了Car层渲染的动画需要设置序列帧,其他渲染层只需要渲染单帧。在Car层的渲染设置中建立“层覆写”-右键弹出菜单,选择“CreatLayerOverride”,当输入栏变橙色,即可修改该层的数值。
7. 渲染并合成。因为是动画序列,因此使用后期合成软件进行,不过图层混合模式的选择与PhotoShop是相同的。
阴影层:放于最上层,使用正片叠底(Mutiply)模式
反射(或高光)层:放于所依附的场景物体上层,使用滤色(Screen)或者线性减淡模式(ColorDodge)-线性减淡有时等同于添加(Add)
*高光反射层是不具备透明通道的,如果使用Maya渲染时设置了Alpha通道渲染,那么在导入后期合成软件或者PhotoShop后,将看到意外的显示;使用滤色或线性减淡的图层混合模式后可还原真实效果。 【插入说明三个后期合成软件的使用步骤】
AfterEffect环境:
(1)开启AfterEffect,导入素材,对各层进行排序,并使用相应的图层混合模式。
(2)如果导入时没选择“预乘-无蒙板”,则素材Alpha通道会出现“黑边”问题。要解决该问题,需要重新设置图层属性;也可以对带Alpha通道的图层右键:效果->通道->移除颜色蒙板,增加此效果后可解决通道黑边的问题。
(3)除了修改透明度,还需要对阴影层再增加一个高斯模糊的效果(模糊量为0.2),使场景与平面图片背景更融合。
(4)解决了以上基本问题后,对各图层间进行特效处理就依个人想法而定。例如,改变四驱车和它的反射贴图的颜色,甚至加些辉光特效。
(5)渲染生成视频。
Fusion环境:
(1)开启Fusion,按顺序导入素材,设置好图层透明度以及混合模式(图层混合模式在Merge节点中设置)。
(2)Fusion使用了类似Maya的节点连接方式,工作流程较为清晰,不过对于初学者可能会显得混乱。使用Fusion需要了解图层Merge(合并)节点的原理:一个Merge节点只能连接一个前景、一个背景以及一个遮罩层,之后输出到其他节点。
Fusion主要用于特效的合成,它对于视频时间线的剪辑较为不便。
(3)选择四驱车图层节点(Merge2),按Ctrl+b弹出特效库,进入Tools->Effect->Trails,双击Trails添加一个节点到Merge2和Merge3之间。调整Trails(托尾)节点的参数。
(4)对阴影层节点增加Blur节点,对阴影进行模糊虚化。此外,可以增加校色节点或者其他特效节点进行画面的调整。
(5)设定循环播放范围,执行Render渲染。
Vegas环境:
(1)因为Vegas不支持Maya的IFF格式,因此需要先将IFF转为TGA或者PNG;
*ACDSee会将透明通道覆盖,因此推荐使用XnView,比ACDSee强大很多的看图软件。
(2)开启Vegas,导入素材,设置好图层混合模式及透明度。
*同AE,在导入素材时,要选择“预乘”的Alpha通道处理方式――Premultiplied或者Premultiplied(dirty)。
(3)因为Vegas主要面向电视台播放的视频剪辑,因此某些默认设置可能会让我们感到棘手。在图层上右键,在属性面板中设置为Disable resample(禁止重取样);在预览窗口左上方的设置中,关闭场的使用;在输出视频时将场关闭。
*以上几个默认项会让我们的视频出现扫描线和残影。
(4)完成了以上的准备工作后,使用Vegas剪辑就易如反掌了。
你可以在Vegas直观的滤镜浏览窗口中拖动特效至图层上,也可以直接拖到右下的视频预览窗口上;且Vegas具有高效的视频预览速度,能很快看到特效结果。
Vegas的主要强项在于调色,因此我们可以很方便的使用各种色彩滤镜进行测试。
(5)渲染输出。
以上三个后期合成软件各有各的优缺点:
AE优点:能与Adobe的其他产品互通,其技术支援庞大,特效滤镜插件资源丰富;
缺点:设置界面不够简洁,剪辑功能一般,需要Premiere的辅助。
Fusion优点:设计主要针对3D影视的后期合成,尤其对Maya的IFF文件兼容较好(AE一直不支持IFF文件的Z深度通道),其工作流程直观,配备的3D粒子系统能对后期特效的合成起到重要作用;
缺点:剪辑功能较弱。
Vegas优点:集合了高效的特效剪辑功能,具有多组滤镜,调色功能强大,且渲染速度相对迅速;滤镜效果浏览及参数设置都很方便,上手容易。
缺点:主要为平面包装而设计,没有对三维素材进行特别的功能强化。
至于工具的选择由个人喜好而定,不用关注我这些胡言乱语……
8. 总结。
在渲染层中对场景中的物体赋予新材质,不会影响该物体在其他渲染层中的原有材质。利用这个特性,我们可以对场景进行不同材质的分类,尤其是UB材质的应用;此外,使用Ctrl+h隐藏物体和AttributeSpreadSheet(属性扩展表)编辑物体的渲染属性,也不会对其他渲染层产生影响,因为Maya会对这些渲染属性进行Auto Overrides自动覆写(渲染输出设置需要手动进行覆写)。 【小提示】
Use Background材质有个有趣的特性,在关闭灯光强度属性下的EmitDiffuse和EmitSpecular的情况下,UB 材质物体仍然可以获取该灯光强度所产生的阴影。也就是说,我们可以创建一盏只用于生成阴影而不是照明的灯光――但也只适用于赋予了UB材质的物体,通常是地面或墙壁,动画角色也可以根据需要使用UB材质。 后话:
尽管Maya的分层渲染技术很强大,但毕竟不是万能的,如玻璃杯中的小球,游泳池中的运动员等这样的融合型场景,使用分层渲染会变得复杂,也不会有多大用处。不用刻意追求分层标准,只要符合作品需要,我们应尽可能的简化这个流程。
分层渲染的素材,可以在后期弥补或加强场景灯光材质的效果;但很多时候,我们应尽量把前期工作做到最好,而不是留给后期更多的麻烦。
|