Maya分层渲染技术.docx

上传人:b****5 文档编号:6602165 上传时间:2023-01-08 格式:DOCX 页数:28 大小:1.45MB
下载 相关 举报
Maya分层渲染技术.docx_第1页
第1页 / 共28页
Maya分层渲染技术.docx_第2页
第2页 / 共28页
Maya分层渲染技术.docx_第3页
第3页 / 共28页
Maya分层渲染技术.docx_第4页
第4页 / 共28页
Maya分层渲染技术.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

Maya分层渲染技术.docx

《Maya分层渲染技术.docx》由会员分享,可在线阅读,更多相关《Maya分层渲染技术.docx(28页珍藏版)》请在冰豆网上搜索。

Maya分层渲染技术.docx

Maya分层渲染技术

【Maya】分层渲染技术(三)-渲染通道RenderPass(上)

【RenderPassForMentalRay介绍】

Maya2009添加了三项新功能:

nParticle内核粒子与AnimationLayer动画层和MentalRay渲染器的RenderPasses渲染通道。

以下就介绍下RenderPasses的渲染技术。

场景中的物体,除了自身材质,它还会受到光源及环境的影响,其表现特征有:

漫反射,镜面反射,高光,折射,自发光,透明度,半透明度,阴影等。

就好比计算机颜色的四个通道:

红绿蓝Alpha,这些表现特征可作为场景中物体的光学通道来定义。

以此理解为基础,软件开发者引入了渲染通道的概念。

RenderPass(渲染通道)在Maya2009之前是MayaSoftware和MentalRay共有的渲染方式,Maya2009特别为MentalRay增加了新的RenderPass分层渲染功能。

RenderPass(渲染通道)是在RenderLayer(渲染层)的基础上进行通道分离的:

一个渲染层只能分离所包含物体的一个属性,而渲染通道则可将一个渲染层中的物体进行多个属性分离。

简而言之,就是一个渲染层中可以建立无数个渲染通道,以简单的渲染设置完成大量图层的渲染。

RenderPass(渲染通道)的创建并不复杂,其思路也容易理解,我们只要明白其参数原理即可进行。

RenderPass(渲染通道)包含一个重要功能,就是renderpasscontributionmaps(渲染通道成分贴图),其作用就是将多个渲染通道赋予一类成分贴图,对渲染后的图片进行命名及保存,相当于渲染层下的子渲染层。

当对复杂场景中的大量物体进行通道分离,可想而知,生成的渲染图片将会很丰富(或者说杂乱)。

要合理的进行文件管理,我们需要制定规范的命名及保存路径。

multi-renderpasses(多组分渲染通道)的渲染方式仅支持mentalray的渲染方式,使用Mayasoftware(Maya软件渲染器)的渲染方式时应采取分层渲染方式(RenderLayer)。

【总体流程】

1.创建渲染通道成分贴图(renderpasscontributionmaps);

*该步骤也可以省略,但是成分贴图能更好的控制灯光、物体以及它们间的通道联系,因此创建成分贴图是很好的选择。

如场景中有6个物体和3个灯光,我们可以只对其中的2个物体及1个灯光所产生的漫反射,高光,阴影等进行分开渲染。

2.对应每个渲染通道成分贴图(renderpasscontributionmaps),创建渲染通道(renderpass);

3.渲染场景,为渲染图片进行命名及文件夹设置;

*遇到较多通道,可进行渲染通道的成组,即建立渲染通道设置(renderpasssets),对设置(set)进行渲染

操作实例1-全景的多通道渲染

首先要说的是,如下这样一个大场景(早期遗产,模型材质都很糟糕……这个大家就先忽略吧),渲染速度会很慢,因此我不打算在Maya中耗费时间来测试照明的渲染效果――同时也为了更好的发挥分层渲染的作用。

1.添加一个方向光源,打开光线追踪;在mentalray的渲染设置中开启FG功能-FinalGather是一种模拟全局光的光子收集技术。

*如果需要渲染AO(AmbientOcclusion环境闭塞,或称OCC白模效果)通道,需要将设置面板下的AmbientOcclusion勾选。

2.设定好摄像机角度后,选择mentalray渲染器执行渲染。

3.由于光源不足,因此整个画面显得阴暗;此时选择摄像机,Ctrl+a进入摄像机的属性编辑面板,在Environment区块中将摄像机背景颜色BackgroundColor设置为纯白色,FG就会收集相机颜色照亮场景,画面效果将会更明晰。

4.选择场景中所有的物体和灯光,创建一个新的渲染层;点击渲染层的设置图标,进入渲染设置面板中的Passes栏。

*如果你看不到Passes右边的图标按钮,则将面板的边框向左右拉宽即可看到。

5.点击RenderPasses区块右边的CreateNewRenderPasses(创建新的渲染通道)图标,弹出一个PassList(通道列表)窗口。

6.PassList下是mentalray所支持的渲染通道分类,我们可以选择多个所需要渲染的通道;NamePresets(名称预设)区块是对通道进行前缀和后缀名称的添加。

因为Maya2009的渲染保存路径中多了这样的命名方式,增加前缀或者后缀有利于区分各类渲染图片。

CreatePassSet勾选后,可对当前选择的PassList下的渲染通道成组,当你需要对多个物体的多个通道进行渲染,设置PassSet能简化渲染管理。

7.结果列表。

当完成对PassList的通道选择,在ScenePasses(场景通道)框中将出现设置的结果。

因为我在选择渲染通道时,设置了通道前缀名称为“Gundam_”,而PassSet的名称为“N1”,因此显示如下图。

此时的选择结果存在于场景文件中,但不会被渲染所识别。

*选择Set或者Pass,右键弹出菜单中可以设置渲染层覆写

8.联合渲染通道。

如果没有设置PassSet,那么我们将需要选择全部的渲染通道,下移至AssociatedPasses(联合通道)框中;因为我在选择时设置了PassSet,因此我只需要将(Set)N1下移到AssociatedPasses框中即可。

需要注意的是,PassSet创建后不会包含任何渲染通道,需要开启成员连接编辑器,将左边的RenderPassSets和右边的RenderPasses进行连接(选择后背景色改变,如灰底,即表示连接完成)

9.执行Rendering模块下的Render->BatchRender,进行批渲染。

在渲染设置的保存路径中选择了,渲染图片将按所设置的“前缀+渲染通道”的名称方式进行命名。

*Maya是在渲染后期对图层进行通道分离的,因此渲染过程中我们看到的是所有未完成渲染的通道图片,而不是通常按顺序生成的图片;MasterBeauty是Maya默认会生成的当前层的Beauty(姑且称为“观赏通道”)通道,至于是否能禁止该图片的生成还没进行研究。

10.测试后期合成。

*如果只想获取漫反射Diffuse,应选择DiffuseWithShadows(不带阴影的漫反射),否则Diffuse通道图片将包含阴影(本例中的阴影图片因此失去作用……=。

=#!

)。

而由于使用了FG功能,因此以上几个常规的渲染通道是不能得到Beauty通道那种最终渲染效果的-漫反射通道不受间接光照影响。

11.回到RenderPass的PassList,选择如下通道:

AO(环境闭塞),Reflection(反射),Shadow(阴影),Specular(高光),GlowSource(辉光),Indirect(间接照明),并且在Set中设置新的通道连接关系。

12.渲染并合成。

*因为增加了AO模式的图层叠加,因此图片显得更有深度感;不过辉光通道效果并不明显。

最后对比下直接渲染,通道分层,后期处理的三种不同效果。

*需要注意的是,当摄像机背景为白色,FG将使最终渲染图片的Alpha透明通道出现白边,需要后期修缮;而通道渲染则不会出现这个问题。

【总结】

流程:

建立渲染层->选择通道->联合通道或Set->批渲染(其中可根据实际情况修改渲染图片的保存方式)RenderPass实际操作并不复杂,不过大家也会发现,仅通过这些简单设置,无法得到RenderLayer那样的分层渲染结果。

因为RenderPass是基于RenderLayer上创建的,而我们的RenderLayer只有一层。

如果metalRay渲染仍使用多个RenderLayer渲染层,那么RenderPass就没发挥太大作用;而且Maya总是会对该层进行一次全局Beauty渲染,尤其渲染动画序列,太多RenderLayer渲染层将造成资源的浪费-除非你需要对渲染输出进行多种不同的设置。

为了解决以上问题,我们要使用RenderPass的一个重要的功能:

创建成分贴图(CreatePassContributionMap)。

【Maya】分层渲染技术(三)-渲染通道RenderPass(中)

【多组分通道的渲染】

操作实例2-渲染通道成分贴图的运用

如下是一个简单的模型场景。

为了更好的表现折射和反射通道的获取,场景物体使用了MentalRay的特殊材质(mia_material_x_passes能很好的模拟光洁金属以及玻璃折射效果,且附带不少预设材料效果)。

RenderPass支持通道分离的材质

Anisotropic,Blinn,Lambert,Phong,PhongE,EnvFog,FluidShape,LightFog,ParticleCloud,VolumeFog,VolumeShader,HairTubeShader,OceanShader,RampShader,Hair,Fur,ImagePlane,LayeredShader,ShadingMap,SurfaceShader,UseBackground;

mentalraymi_metallic_paint_x_passes,mia_material_x_passes,misss_fast_shader_x_passes

虽然RenderPass是为MR渲染而改进的功能,但却不支持大部分的MR材质,只有mi_metallic_paint_x_passes,mia_material_x_passes,misss_fast_shader_x_passes等后缀为passes的MR材质才被允许进行通道分离;如果确实需要对其他MR材质进行通道分离,可以升级材质或者使用自定义颜色输出节点替代。

*如果Maya基本材质和MR材质混合使用,容易发生阴影投射异常。

简单的进行布光后,设置好摄像机角度,并开启MR渲染的FG最终聚集功能,渲染得到如下效果。

*MR渲染常会使用到GI(全局光)和FG(最终聚集)功能,它们对应的是“间接照明”通道。

1.选择背景物体和场景全部灯光,在渲染层上右键(你也可以进入Contribution菜单中选取),在弹出的菜单中选择PassContributionMaps>CreatePassContributionMapandAddSelected(创建通道成分贴图,并加入所选物体)。

点击层名称左边的三角箭头,展开子菜单,双击子菜单的名称进行重命名。

再次选择其他物体和场景全部灯光,重复以上步骤。

*尽管MR的通道成分贴图可以将场景中的灯光分别隔离,但需要这样做的情形并不多,而且MR材质并不支持灯光隔离。

此场景物体按背景,中景1,中景2,前景,球体分别使用不同名称的成分贴图。

2.打开渲染设置(RenderSettings)窗口,在RenderUsing中选择mentalray的渲染方式。

3.点击进入设置窗口中的Passes面板,点击此按钮创建新的渲染通道(renderpass),弹出新的窗口

*为了更好将多个物体的通道进行分类,我们要进行命名预设(NamePresets)。

PassPrefix是通道前缀命名,PassSuffix是通道后缀命名。

通常以下划线将名称与前后缀分开。

点击Create后,前缀+通道名称或者通道名称+后缀将出现在场景通道(ScenePasses)中

如果没对多个成分贴图的通道名称进行前后缀区分,那Maya会在渲染时将同名称的通道图片覆盖,也就是说,成分贴图的名称对于通道渲染结果没有任何影响,仅是为了便于用户分类。

4.在通道列表(PassList)中选择我们需要分开渲染的通道。

*需要注意,MR材质只有以下通道才会被提取,选择其他通道是没作用的,尤其Shadow阴影通道不被支持-阴影包含于Diffuse通道中。

材质:

所支持通道

mia_material_x_passes:

Beauty,Diffuse,DirectIrradiance,Indirect,Reflection,Refraction,Specular,Translucence

mi_metallic_paint_x_passes:

AmbientMaterialColor,Beauty,Diffuse,DirectIrradiance,Indirect,Reflection,Specular

misss_fast_shader_x_passes:

Beauty,Diffuse,DirectIrradiance,Specular

由于所用的MR材质均无法分离出Shadow通道,因此除了圆球和托盘的成分贴图需要额外的Refraction(折射)通道,其他成分贴图均只选择Diffuse(漫反射)、Indirect(间接照明)、Reflection(反射)通道――因为场景灯光设置了物体高光不照射,因此Specular通道也就不需要选择了。

5.选择所有通道,然后按下向下箭头的按钮,场景通道(ScenePasses)中的名称将会转移到联合通道(AssociatedPasses)中。

此时,双击Diffuse通道名称,进入通道的属性编辑面板,将RenderPassOptions下的NumbersOfChannels的3改为4,否则最后图片将只有RGB颜色而无透明通道(3=RGB,4=RGBA);所有Diffuse通道以及Refraction透明折射层均设置如此,而其他通道因为会在后期使用图层混合模式,因此保持默认。

6.点击联合通道成分贴图(AssociatedPassContributionMap)的下拉菜单,选择渲染层的成分贴图名称,然后选取对应的通道名称,再点击向下箭头按钮,完成渲染通道成分贴图的通道关联。

8.进入Rendering模块下,执行Render->BatchRender进行批渲染。

*保存路径要记得使用

8.图层的混合。

一个物体图层组包含反射层,间接照明层和漫反射层;间接照明层和反射层使用线性减淡的图层混合模式,放于漫反射层之上(如果有折射层,则取代漫反射层)。

在PhotoShop中,如果需要对多个图层进行效果混合后再将此结果与其他图层进行混合,可使用图层组(快捷键:

Ctrl+G)的形式,这与后期合成软件Fusion或者Shake的节点混合是类似的。

RenderPass的通道渲染默认是物体间相互遮挡的(类似UseBackground材质的遮罩作用),因此物体间的图层组顺序可随意放置。

*因为没对直接光照通道进行取样,因此整个场景相对Beauty显得稍暗,不过分层渲染就是为了能更自由的调整各部分效果。

9.如果需要环境闭塞效果,全选所有物体(包括灯光)添加到新建的渲染层,创建一个AO通道;关闭主渲染层,执行批渲染,得到整个场景的AO(环境闭塞)通道。

深度通道也可按此法获取。

所获取的图层如下图所示:

*RenderPass与RenderLayer的配合使用,除了以上说到的AO和Z通道,我们还可以在RenderLayer中赋予物体不同的材质,获取更丰富的通道效果。

如多个环境反射贴图模拟大环境效果,通常的高光贴图配合潮湿高光贴图模拟物体淋湿效果等。

最后是合成效果:

【重要提示:

透明图层的黑边问题】

回顾之前的RenderLayer分层渲染,在对相互遮挡的物体进行分层渲染的时候,我们只需要在渲染层中对其中一个物体使用UseBackground材质即可。

使用高质量渲染时,Maya会将物体被遮挡部分的Apha通道扩展一个像素进行平滑过滤;通常情况下,这个细微的变化是不影响画面效果的,但如果此时对相互遮挡的物体都使用UB材质,那么这个由过滤产生的透明边缘将被扩大,于是就产生了“边缘线”-线条颜色取决于你的合成背景色,常为“黑边”。

与MayaSoftware的RenderLayer一样,MentalRay的RenderPass也存在此类问题

Maya2009新增的RenderPassForMentalRay中,物体的成分贴图通道默认是Hold-Out的,也就是彼此挖空遮挡部分――相当于重复使用了UB材质。

要避免“边缘线”的产生,有几个方法(任选其一):

1.关闭渲染通道(Beauty,Diffuse,refraction等)属性面板RenderPassOptions区块下的Filtering;

2.在相互遮挡的物体之间,关闭其中一个物体通道的Hold-Out(关闭了Hold-Out的通道图层将在合成时置于另一个遮挡物体的通道图层之下)

3.将MasterBeauty的最终合成效果放于最底层,填补边缘线的透明通道。

方法1渲染的图片会有较多的锯齿现象,需要在后期进行图形过滤;方法2较实用,可控性强;方法3属于偏方,当后期对各图层进行太大的较色或光效调节,底层的MasterBeauty会很容易暴露,

如果不是特别需要,直接获取每个物体的Beauty通道是最快速的分层方式。

多通道的获取,个人看来更适合于静帧的取材,而非卡通动画(电影级除外)。

通过成分贴图的使用,我们可将多个物体的渲染通道分离,实现物体过滤与属性过滤的同时进行。

不过,由于MR材质的局限性,我们并不能获取太多的通道,尽管MR材质的渲染效果很不错;使用Maya标准材质则具有丰富的渲染通道可选,除了体积材质,毛发材质等非标准材质。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1