CG游麟网官方站
查看: 2087|回复: 10

[3D软件技术教程] 【Maya】分层渲染技术(三)-渲染通道RenderPass(下)

[复制链接]

133

主题

174

帖子

2万

积分

苍生崇拜

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

麒麟币
25412
任务币
0
威望
15
贡献
453
主题
133
在线时间
28 小时

最佳新人忠实会员推广达人

发表于 2016-3-24 16:48:41 | 显示全部楼层 |阅读模式

这是Maya通道渲染RenderPass的第三部分,也是本系列的最后一部分。因为考虑到Maya2011可能增加新功能或者改进流程,也就一直没进行最后步骤的更新。Maya2011正式上线后,可以看到在分层渲染流程上,并没有太大的改变;不过因为MentalRay渲染器一些功能的优化,在渲染效果上确实是提高不少。

*由于Maya2009首次对MR渲染加入RenderPass,因而存在一些奇特的问题:直接赋予物体一个passes的MR材质,无法进行光子数据的一些计算,如焦散;需要在主材质SG节点的PhotonShader连接一个相应设置的常规MR材质。不过Maya2011已经修正了这个问题,而且MR材质和Maya常规材质之间的兼容性也提高了,因此这里我就不再对MR的光子材质进行特别说明。大家只要知道一点,焦散Caustics和最终聚集FinalGathering一样,对应的pass是Indirect(间接照明通道),且接受间接照明效果的物体必须使用passes材质。

1069604911501604444.jpg

【特殊通道的获取】

前面所介绍的一系列分层渲染的方法,基本上已经可以满足大部分的渲染分层要求。不过仍然会存在一些情况(稍微参考了Digitial的Maya2009RenderPass的教程):

1.RenderPass在使用多重材质(主材质为层材质的情况除外)的时候可能会出现一些问题,如将不同的材质球赋予另一个材质的渲染通道,会造成渲染图片过曝--这是因为RenderPass是使用Add的混合模式(可参考Photoshop的“添加”图层混合模式效果)对多材质进行最终效果进行计算的。

2.需要对混合纹理的局部细节进行特殊调节。
3.将RenderPass默认不支持的一些常规MR材质的通道进行分离。

以下主要是针对复合纹理的情况进行操作。

【RenderFrameBuffer渲染帧缓冲】

使用MR和Maya材质混合的场景,除了渲染计算的差异(尤其是使用了光子发射的间接照明效果),对于多通道的获取并不理想,因此场景尽量使用单一渲染器的专用材质。除了要特别解决的混合材质,此场景使用的都是MR自带材质:mia_material_x_passes(多功用材质)。

*MentalRay材质不能套入Maya的层材质LayerShader,默认情况下MR没有专用的层 材质

1069604911501604448.jpg

1. 这里我使用一盏面光源,一盏聚光灯和一个MR的IBL节点(在MentalRay的渲染设置面板的Environment区块下点击ImageBasedLighting创建,使用HDRI图片辅助照明)进行照明,并启用了全局光照,焦散以及最终聚集(有关照明设置这里就不作详细说明)。

2631509557269022122.jpg
*这里提醒一下,使用光子焦散Caustics效果,除了将具备光子属性的MR材质设置一定透明度,还必须要把材质属性编辑面板Refraction区块下的AdvancedRefraction中的RefractiveCaustic勾选。

2994893752203370606.jpg

2. 左边的水壶使用了混合材质。使用材质混合要注意,子材质的反射率会被相加到最终材质的反射率上,因此这里要将两个子材质球的反射率都设为0(可见Outcolor不仅仅是输出色彩)。
*全局光,焦散,最终聚集都使用同一个indirect间接照明通道,不能简单的通过分层将它们分离,因为这样不只是渲染结果有差异,后期的图层混合也是个问题;所以必须要在当前帧渲染视图中解决各种间接照明的问题。

2928747132675166688.jpg

视图渲染效果:

958140820724165373.jpg


3. 现在要进行渲染通道的设置。全选场景物体,创建渲染层,然后在渲染层上右键,执行:PassContributionMaps->CreatePassContributionMapAndAddSelected。此时,已经创建了一个用于执行渲染通道分离的成分贴图。
*尽量避免直接使用主层来进行RenderPass,因为对主层的修改会影响到其他渲染层。

2742410698093088957.jpg
4. 进入渲染设置中的RenderPass面板,选择所需要的渲染通道。这里我就不对物体进行隔离了,只创建一个成分贴图。
*详细的步骤以及其他详细的设置可以看【Maya】分层渲染技术(三)-渲染通道RenderPass(中);这里只要选择好成分贴图包含的通道即可,不用更改渲染通道的参数。

761671286981014448.jpg
5. 执行批渲染,可看到如下结果:Beauty通道的渲染图片中,使用了混合材质的物体亮度过高,严重曝光;即使对其他通道进行图层混合,也会最终得到Beauty通道那样曝光的效果。

1168402628327027583.jpg
6. 本身渲染结果并没有错,只是在进行最终的材质混合时,Maya内部使用了预设的帧缓冲构成FrameBufferContribution。如果是Maya材质,在材质属性编辑面板的mental ray区块的FrameBufferContribution下选择WriteOperation;MR材质则是通过相应的数字来完成选择:0=NoOperation,1=Add,2=Multiply,3=Overwrite。影响物体明暗关系的图层,通常应该使用Multiply相乘的混合运算,默认的Add会加亮子材质的效果。
*但这里只需要修改子材质的FrameBufferContribution,主材质不要更改设置,否则会得不到正确的结果。

2146809647373986810.jpg 3113676192374492444.jpg


7. 修改了 WriteOperation(写入操作)为Multiply后,执行批渲染,得到了正确的结果。 1140255130656100153.jpg

在Photoshop中,将除了Diffuse通道以外的图片使用Add(也叫线性减淡)的图层混合模式放于上层。

2858659863474654840.jpg
767019311538280351.jpg

如果只是为了获取以上的渲染通道,那么到这里已经完美的解决了渲染结果异常的问题。接着我就继续提出一个比较冷门的思路,那就是获取每个纹理的图片。


【writeToColorBuffer写入色彩缓冲节点】

MR库中的writeToColorBuffer节点可以单独获取材质或纹理节点的通道,并将最终效果转为图片的形式,其中就包括一些默认不能进行RenderPass的非Passes类MR材质。不过与Passes材质属于同一系列的常规MR材质,可以在材质属性编辑器的UpgradeShader区块下,点击按钮将该材质升级为新的passes材质,因此这里就不使用writeToColorBuffer节点进行常规MR材质的通道分离操作了--既显得多余,实用性也不是很广(除了需要特别提取的通道,如3s次表面散射材质的多个色彩通道),因为更多的常规MR材质并不被支持。

1. 在引入之前说到的writeToColorBuffer节点前,先要增加一个用户自定义的渲染通道。将CustomColor加入到前面步骤所创建的成分贴图中。
*RenderPass设置中可以选择四个用户自定义通道(CustomColor,CustomDepth,CustomLabel,CustomVector);默认情况下,CustomColor创建时的通道设置是带透明通道的,这是很合理的预设。

2531585940536713535.jpg
2. 在Hypershade超材质编辑器中,进入MR节点库的Miscellaneous栏,创建一个writeToColorBuffer节点(后面我将简称为WTCB节点)。

2761550996509110438.jpg
3. 双击WTCB节点,进入它的属性编辑面板,将混合材质的其中一个子材质用鼠标中键拖至WTCB节点Input区块的Color属性进行连接。
*通常情况下,纹理贴图或者Maya常规材质的Outcolor属性会被连接,而特殊的MR材质则需要手动连接,如Diffuse_result,refl_result,refr_result(3S次表面散射材质则是back_result,front_reslt,diffuse_result)。

90916417478632674.jpg
4. 此时,点击WTCB节点FrameBufferOptions区块的CustomColorPass下拉菜单,可以看到第7步时加入的用户自定义通道,然后选择它;其他设置不做改变。
*另一个子材质也按以上步骤进行节点连接,不要共用一个CustomColor通道。

2186779094066547049.jpg
5. 执行批渲染。在之前RenderPass的基础上,又得到了两张额外提取的纹理通道。

2611806308899244155.jpg
6. 到这里完成了……没下一步?是的。就以这个例子而言,这两张额外提取的纹理通道没有任何用处,你无法正确的将它和其他通道进行混合。因为这里不但使用了MR材质的透明折射效果,还启用了光子照明技术,我们是不能在这个复杂的照明系统中再提取局部的组合纹理的(这也就是为什么GI,FG和Caustics都使用一个indirect间接照明通道的原因)。

如果一定要提取子材质的纹理,前提就是:主材质不参与太多的照明效果,渲染的结果基本由子材质所决定。而这样一个前提下,额外纹理通道的提取不适用于MR的光子类材质;相对而言,Maya材质的兼容性更高一些(尤其是可自由控制光照范围的RampShader材质,它的Color可以使用多个纹理通道进行联合)。




【RampShader材质的特殊用途】
RampShader常用于制作2D卡通的渲染效果,而它较为有趣的一点是能自由控制光照区域。这里只使用它的Color通道来进行复合纹理的RenderPass。

671880769409618250.jpg
1. 创建一个RampShader材质,将两个带有纹理的不同材质球分别连入它的Color属性。
*将ColorInput设置为Brightness,并将Reflectivity的SelectedValue设置为0关闭反射效果。

1144758730283496471.jpg
2. 赋予一个几何体,渲染得到如下效果。

2892436860679795581.jpg
3. 创建3个WTCB节点,其中两个分别与子材质球进行连接(别忘了在RenderPass的设置面板中增加3个CustomColor)。

801922208650498975.jpg
4. Ctrl+d复制主材质球rampShader,然后将复制出的材质球的两个Color通道设置为纯白和纯黑,顺序随便。这样做的目的是为了制作出一个纹理遮罩层,因此,如果Color通道超过两个就无能为力了。

1761751879233518881.jpg
5. 将主材质球rampShader连接到第三个WTCB节点EvaluationTrigger(穿透设置)区块的EvaluationPassThrough(通道穿透赋值),而黑白的rampShader连接到WTCB的Input区块的Color上。
*EvaluationTrigger用于控制混合纹理的遮罩效果,它能计算出纹理叠加处的过渡,然后输出用户指定的色彩—通常以灰度来表示。
1498572776009003554.jpg

6. 这里我就不使用成分贴图了,直接使用主层进行RenderPass。
1934577514934358608.jpg
7. 执行渲染。得到如下效果:

1934577514934358612.jpg
8. Photoshop中的操作:
(1)关闭其他图层,进入黑白遮罩层的“通道”面板中,点击右下方第一个按钮:将通道作为选取载入;

1934577514934358616.jpg
(2)显示其他纹理图层,随便选择其中一个(如果效果不对,将蒙版的黑白“反相”即可),点击下方的“添加图层蒙版”按钮;
702843016848165884.jpg

(3)发现碎片的叠加区域稍微不足,点击图层右边的蒙版图标,使用“色阶”,在中间输入1.5(根据个人感觉……);
702843016848165888.jpg
(4)之后,你可以对分离出的通道图层进行任意色彩调节。

1706582783798300701.jpg 1706582783798300705.jpg

不过,这里要提醒下,WTCB节点是配合RenderPass进行材质的通道分离的,不要指望在复杂的纹理节点连接中再提取局部细节,如一个noise纹理的暗部区域还有个noise纹理这样的节点连接。换句话说,要分清纹理和材质这两个不同的概念。




【总结】
如果使用的是Maya混合材质,并且不启用MR的光子渲染技术,那渲染通道问题的解决会轻松的多,所以应尽量避免这样一种糟糕的情况:混合材质+间接照明。

RenderPass和RenderLayer的使用,有各自的优势和局限:

RenderPass能将场景的通道进行快速且详细的分离,且支持Maya大部分材质和MentelRay的光子渲染,能高效的管理大型场景的渲染图片;但对于分离场景中的灯光和物体,RenderPass却显得效率低下,而且用户并不能直观的看到设置结果。

RenderLayer主要用于MentalRay之外的其他渲染器,它能方便快速的对场景灯光和物体进行归类及管理,并且支持隔离渲染,设置方便;缺点就是它所能进行的通道分离不多,而且Maya2009之后已经不支持MentalRay的通道分离。

RenderPass是建立在RenderLayer基础上的分支功能,尽管RenderPass是MentalRay渲染专用的功能,但MentalRay在使用光子技术进行超写实渲染时会存在一些问题,如阴影渲染和物体分层,仍需要结合RenderLayer来完成。因此:需要进行后期校色的常使用RenderPass(如色彩冷暖调节);需要进行后期特效制作的则使用RenderLayer(如加入字幕,后期火焰,光效等)。

RenderPass附加提示
使用EXR的文件格式可以包含多个通道,在后期合成软件中开启会自动设定好各图层的混合模式。方法如下:
进入渲染设置窗口,在Image format中选择OpenEXR(exr)格式。而使用了这个格式,Maya的渲染路径将自动屏蔽passes的信息;执行批渲染,得到一个EXR文件。不过EXR文件是用于Toxik的文件类型,如果使用的后期合成软件不是Toxik或者Combution,就没什么用处。


楼主热帖
回复

使用道具 举报

2

主题

334

帖子

3158

积分

大名鼎鼎

Rank: 7Rank: 7Rank: 7

麒麟币
2807
任务币
85
威望
0
贡献
0
主题
2
在线时间
24 小时
发表于 2016-3-24 20:55:41 | 显示全部楼层
这个帖子不错,大家快来顶起来!
回复 支持 反对

使用道具 举报

1

主题

6313

帖子

4万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
33915
任务币
450
威望
1
贡献
6
主题
1
在线时间
1293 小时

最佳新人忠实会员

发表于 2016-3-24 23:00:11 | 显示全部楼层
好资源~!原素出
回复 支持 反对

使用道具 举报

0

主题

1万

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
21764
任务币
359
威望
2
贡献
131
主题
0
在线时间
754 小时

忠实会员

发表于 2016-3-24 23:19:00 | 显示全部楼层
感謝分享這麼好的資源!
回复 支持 反对

使用道具 举报

9

主题

1673

帖子

2544

积分

名动江湖

Rank: 6Rank: 6

麒麟币
800
任务币
135
威望
0
贡献
0
主题
9
在线时间
104 小时

最佳新人忠实会员

发表于 2016-3-25 08:37:59 | 显示全部楼层
CG游麟网真是个很好的学习天堂!
回复 支持 反对

使用道具 举报

5

主题

3975

帖子

5955

积分

誉满一方

Rank: 8Rank: 8

麒麟币
1992
任务币
235
威望
0
贡献
0
主题
5
在线时间
321 小时

忠实会员最佳新人

发表于 2016-3-25 09:34:49 | 显示全部楼层
这个帖子不错,大家快来顶起来!
回复 支持 反对

使用道具 举报

0

主题

4867

帖子

1万

积分

蜚声中外

Rank: 13Rank: 13Rank: 13Rank: 13

麒麟币
12539
任务币
0
威望
0
贡献
0
主题
0
在线时间
305 小时
发表于 2016-3-25 13:33:19 | 显示全部楼层
棒棒的,感谢楼主分享。
回复 支持 反对

使用道具 举报

23

主题

1万

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
14932
任务币
400
威望
0
贡献
1220
主题
23
在线时间
1499 小时

最佳新人忠实会员

发表于 2016-3-26 10:18:51 | 显示全部楼层
CG游麟网真是个很好的学习天堂!
回复 支持 反对

使用道具 举报

0

主题

1万

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
21764
任务币
359
威望
2
贡献
131
主题
0
在线时间
754 小时

忠实会员

发表于 2016-4-3 23:40:55 | 显示全部楼层
常常吸取前輩的實務經驗才能增長自己的實力!
回复 支持 反对

使用道具 举报

23

主题

1万

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
14932
任务币
400
威望
0
贡献
1220
主题
23
在线时间
1499 小时

最佳新人忠实会员

发表于 2016-5-1 08:58:11 | 显示全部楼层
CG游麟网真是个很好的学习天堂!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
客服QQ:
47413829
新QQ群:
418757022
在线时间:周一至周五
9:00-22:00 Email:
47413829@qq.com
举报:网盘资源失效
在线客服
快速回复 返回顶部 返回列表