欢迎来到天天文库
浏览记录
ID:13252764
大小:648.00 KB
页数:12页
时间:2018-07-21
《分层渲染技术(一)-渲染层renderlayer(中)1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
实例2-反射与折射场景(属性过滤)1.场景:水晶葡萄,光滑的桌面,透明的玻璃水壶,明亮的方镜……总之这个场景到处是反射和折射。思路:除了考虑前景和背景的分层,还要同时考虑到反射和折射效果的存在,因此需要获取反射和折射贴图。*反射和折射是2D动画最忌讳的现实特效,但在3D软件中,我们可以随心所欲的滥用这种绚丽的光效。当然,你需要有充足的渲染时间。2.分层渲染前的灯光设置。由于是随意组合的一个场景,因此我就不遵循“三点布光”的原则进行了,仅使用一个平行光模拟天光效果(如果使用MentalRay渲染,启用FG能得到更真实的效果,不过此篇使用MayaSofeware进行渲染)。平行光的灯光属性设置需要注意以下三点:(1)去掉EmitSpecular的勾选,关闭高光照射,因为我不打算让这些玻璃器皿带上刺眼的高光;(2)将阴影颜色灰度降低,因为这不是强烈太阳照射下的场景;(3)勾选UseRayTraceShadows开启光线追踪阴影,并设置LightAngle和ShadowRays数值如图所示(LightAngle的数值尽量不要超过10,否则阴影会出现明显颗粒)。 3.分层渲染前的材质设置。背景我使用一个面片+贴图的方式(使用现成的风景壁纸也是个不错的偷懒方式>_<!)。为了提高背景在场景中的亮度,除了对材质的Color(颜色)进行贴图连接,我还将贴图同时连接到Incandescence(自发光)节点。我使用一个球体+贴图来模拟天空,节点连接方式同背景贴图。不过在球体的pSphereShape节点的RenderStats区块中,要将如图参数勾选去掉,尤其是PrimaryVisibility(最初可见)-如不关闭,平行光启用光线追踪阴影后,将无法照射球体内部的场景(如果一定要保留PrimaryVisibility以进行天空渲染,则在灯光链接控制中将平行光对球体的照射去掉即可)。 4.设置好摄像机取景角度并锁定,渲染一张全景图。5.全选场景中的所有物体(包括灯光和天空),添加到新建的渲染层。此时先不要急着对场景进行物体分类设置,因为如果使用“物体过滤” ,你将得不到所需要的反射效果。如方镜前的大南瓜,你直接使用隐藏(快捷键Ctrl+h)-此方法等同于物体过滤,会发现镜中的南瓜反射贴图也随着南瓜消失了。这就意味着我们不能将南瓜和方镜进行简单的隔离渲染。6.选择南瓜,Ctrl+a调出物体的属性编辑器,在南瓜物体的Shape节点下,将RenderStats的PrimaryVisibility(最初可见)勾选去掉。*在渲染层中,对某个渲染属性的操作都会被进行“AutoOverrides(自动覆写)”,并以橘红色字体表示此设置不会与其他渲染层的设置同步覆写状态。7.渲染后我们可以看到,虽然南瓜在场景中未渲染出来,但它在镜中的反射和对桌面的投影依然存在,除非你将CastsShadows和VisibleInReflections也关闭。 从以上的测试中,大家应该明白RenderStats的作用了。每个物体都有一个独立的RenderStats属性,我们可以在渲染层中对任意的参数进行启用或关闭,以满足我们的分层渲染需要。【说明】使用属性过滤的渲染方式,我们首先要了解物体的渲染属性参数的作用。进入物体的Shape节点下,在RenderStates区块中,可以看到如下参数:*CastsShadows-阴影投射:定义该物体是否产生投影*ReceiveShadows-接受阴影:定义其他物体对该物体的投影是否显示*MotionBlur-运动模糊:定义该物体是否支持运动模糊渲染*PrimaryVisibility-最初可见:定义该物体在最终渲染图片中是否被显示(重要)*VisibleInReflections-反射可见:定义该物体是否会被其他物体反射*VisibleInRefractions-折射可见:定义该物体是否会被其他透明物体折射*DoubleSided-双面显示:定义模型在场景中的显示方式,同时也会影响渲染结果(勾选后Opposite可用,作用是只显示背面,常作为环境球体的浏览设置)8.回到第5步,开始设置渲染层。现在有两种渲染方式可选:(1)对所有物体设置好属性过滤后,再使用通道过滤 (2)直接对场景物体进行层次过滤当你打算对场景中某个物体进行隔离处理,可以使用(1)类方式,如将桌子左边水壶对桌子的反射和投影孤立渲染,在后期加入细节;当场景物体彼此的反射,折射或投影影响较为复杂,可尽量避免物体的隔离而使用(2)的渲染方式。考虑到场景物体较为复杂,因此阴影作为单独的一层来对待。如果场景物体的自身阴影和物体间的阴影影响不大,可以使用UseBackground材质获取特定物体的阴影投射。9.复制渲染层,然后将它的RenderPass设为Shadow,并将渲染层命名为“Shadow”便于识别。10. 继续对第一个初始状态的渲染层进行复制,在属性编辑器中设置该层的MemberOverrides(成员覆写)的CastsShadows和ReceiveShadows为OverrideOn。该层的物体将不会产生投影(RenderPassOptions下的Beauty=Diffuse+Specular,如果打算对高光进行分层,单独勾选Diffuse,本例不使用高光层)。*注意:如果使用Presets预设的Diffuse设置层的渲染属性,将不会产生反射和折射效果,因为渲染设置中的Raytracing(光线追踪)会被“自动覆写”并关闭。11. 将该层命名为Ground,然后隐藏层中的前景物体。选择物体,Ctrl+h隐藏;当然,你也可以在一开始就选择性的加入物体到渲染层。注意一定不能隐藏灯光。12.继续创建渲染层,命名为Desk,其设置同Ground层,只是这时不能隐藏任何物体,因为前景物体全都具有反射或折射的属性。为了只对桌子进行渲染,我们需要将除桌子以外的全部物体的PrimaryVisibility属性设置为Off。不过一个个物体的进行RenderStats的属性设置显得笨拙,此时我们可以使用Maya实用的批量属性管理器。13.选择除桌子以外的所有物体,执行Window->GeneralEditors->AttributeSpreadSheet(属性扩展表),在开启的窗口中找到Render栏,然后点击PrimaryVisibility横条,输入0(输入1为开启),关闭所选物体的PrimaryVisibility属性。 14.复制Desk渲染层,命名为Front。先使用上述方法Off掉桌子,然后on开启位于摄像机前的物体的PrimaryVisibility。15.如法炮制,将场景划分为前景,中景,背景。16.执行BatchRender批渲染。17.开启PhotoShop,导入各图层,进行艺术加工。分层后,Maya对每个物体的渲染结果组合起来会与整体渲染的效果有所不同,尤其可能产生“黑边”的问题。 18.对比MayaSoftware直接渲染和分层渲染并处理后的效果。直接渲染:分层后处理: 使用MentalRay并开启FG后的效果(有点耀眼)可以说,属性过滤方式就是物体过滤方式的细化。物体过滤使分层设置简单化,适用于普遍的非反射类场景;反射折射以外的场景(使用MentalRay 的FG的场景除外),使用属性过滤就有点“牛刀杀鸡”的感觉了。当然,这也不是绝对的论断,如此类情况:只需要某个物体对其他物体的投影(隐形人……)。虽然属性过滤的渲染方式解决了反射与折射的问题,但是某些情况下还是不能满足我们更强烈的要求。如一个小球经过轨道拐弯处朝镜头滚来,或者戴在手上的戒指,或者被握在手中的电话,或者反射贴图的获取等……
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处