水晶石影视动画精粹:Maya & mental ray 影视动画渲染
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.7 焦散和全局照明

全局照明是用于捕捉间接照明的技术,间接照明是一种自然现象,因为光具有波与粒子的两重特性,当光线照亮物体时,光线会在邻近的物体之间不断反弹直到能量衰减完毕,也就是所看到的物体阴影和暗部的影调而不至于死黑一片,可以说有光的地方就有间接照明。

“焦散”是指当光线穿过一个透明物体时或者一个具有镜面发射能力的表面时,由于对象表面的不平整,使得光线折射或反射并没有平行发生,出现漫折射漫反射,投影表面出现光子分散,焦散的现象在生活中非常常见。

用户可以在mental ray中通过发射光子来得到“全局”和“焦散”等照明效果。

为了产生光子追踪,场景中需有一个灯发射光子,因此需要打开任意一个灯属性编辑器中的Emit Photons(发射光子);此外,为了保证实际光子的正确分配,灯的Decay(衰减)属性应该设置为quadratic(二次方)。在一起使用Final Gathering和Global Illumination时,需要打开灯光的Physical(物理)项,才能正确产生直接和间接照明相结合的效果。

上述步骤完成后,获得的图片应该显示光子踪迹光点或者最终聚集。光点可以通过调整表面材质上光点参数进一步调节。

在光子追踪阶段,光子从光源喷射并穿过整个场景。如果一个光子击中一个物体时,指定的光影把光子存储到“光子贴图”中。基于这个参数,光影也决定了光子的相互作用。相互作用的可能的类型有:

● 吸收

● 反射(漫射/镜射)

● 折射(漫射/镜射)

在决定相互作用类型之后,光子重新被发射(直到最大光子跟踪深度),同时有些光子在渲染时用来产生全局照明和焦散效果。

基础材质库包含一个一般的光子材质。大多数参数与之前所讲的属性一样,但是有一些可能稍微不同。

1. 创建焦散

(1)在渲染全局设置窗口中打开Caustics(焦散)。

● 打开渲染全局设置窗口:Window → Rendering Editors → Render Globals(窗口→渲染编辑器→渲染全局)。

● 从Render Quality(渲染质量)下拉列表中选择PreviewCaustics(预览焦散)选项,这样在PreviewCaustics(预览焦散)标签中会自动地打开焦散。

注:把Caustic Accuracy(焦散准确性)设置到少于64的值来减少污点;完成后,关闭Photon Map Rebuild(光子贴图重建),这将会减少渲染时间,尤其在动画时。

(2)指定一个光源来喷射光子。

● 在灯的属性编辑器的形状节点中的段的Caustics and Global Illumination部分打开Emit Photons(喷射光子),此时可以使用一个或多个光源来喷射光子。

● 设置能量(Energy)中(RGB)指数和焦散的光子数。增加光子数将增加渲染时间,但增加能量值则不会增加渲染时间。

(3)指定产生焦散的物体和接收焦散的物体。

● 选择物体,在物体属性编辑器中选择变换节点展开,关闭DeriveFromMaya并且可以设置焦散为Cast only(仅产生)、Receive only(仅接收)或Cast+Receive(产生+接收);如果必要的话,也可以打开Visible、Trace、Shadow和if applicable进行标记。

● 在渲染全局设置窗口的PreviewCaustics标签里Overrides段中,在下拉列表里选择Caustics Generating和Caustics Receiving选项,这将打开场景中所有物体产生和接收焦散的能力。

注:产生焦散的物体应该有一个较低的diffuse(散射)值。例如设置Phong为0.3,而refractive index(折射率)应该大于1。

接收焦散的物体应该有一个较高的Diffuse(漫反射)值,例如可以将Lambert设置为0.8。

在现实世界中,光能从一个曲面反弹到另一个曲面,这往往会使阴影变得柔和,并使照明在不反弹光能时变得更加均匀。但在3D图形学中,默认情况下的光线为不反弹,如需反弹光能必须使程序生成反弹照明的模型。许多方法都可以达到上述目的。

由渲染器提供的方法称为全局照明。全局照明使用的光子与用于渲染焦散的光子相同。实际上,全局照明和焦散都属于同一个总类别,称为间接照明。

在场景中,可以使用全局照明来创建平滑的、外观自然的照明,而仅需用相对较少的光源和增加相对较短的渲染时间来表达效果。如图1-143所示。

图1-143 焦散的例子

2. 创建全局照明

(1)在渲染全局设置窗口中打开Global Illumination(全局照明)。

● 打开Maya渲染全局设置窗口:Window → Rendering Editors → Render Globals(窗口→渲染编辑器→渲染全局)。

● 从Render Quality下拉列表中选择PreviewGlobalIllum,同时在PreviewGlobalIllum标签中会自动地打开全局照明。

(2)指定一个光源来喷射光子。

● 在灯的属性编辑器(Ctrl-A)的形状节点中的Caustics and Global Illumination部分打开Emit Photons(喷射光子),此时用户可以使用一个或多个光源来喷射光子。

● 设置能量(Energy)中(RGB)指数和全局照明的光子数,增加光子数将增加渲染时间,但增加能量值则不会增加渲染时间。

(3)指定产生全局照明的物体和接收全局照明的物体。

● 选择物体,在物体属性编辑器中选择变换节点中展开Mental ray段,关闭Derive From Maya并且可以设置全局照明为Cast only(仅产生)、Receive only(仅接收)或Cast+Receive(产生+接收);如果必要的话,也可以打开Visible、Trace、Shadow和if applicable进行标记。

或者采用下面的方法:

● 在渲染全局设置窗口的PreviewGlobalIllum段中,从下拉列表里选择Global Illum Generating和Global Illum Receiving选项。这将打开场景中所有物体产生和接收全局照明的能力。