主题:  [转翻译]使用最终聚集(Final Gathering)照明

rtzaa

职务:普通成员
等级:1
金币:21.0
发贴:1002
注册:2005/5/21 13:42:04
#12005/4/6 17:06:19

原文:http://www.jozvex.com/tutorials/fg.html
作者:contact@jozvex.com
翻译:lf426@21cn.com

注意:本指南适用于MR for Maya 1.5.1或者以上的版本。
MR=Mental Ray;FG=Final Gathering最终聚集;GI=Global Illumination全局照明

MR的FG在对你的场景中从附近物体表面或者环境中的光线采样起着很重要的作用。

单独使用FG的时候(不使用GI)就可以达到巴西渲染器(the Brazil renderer)中天

窗(skylight,或者意思是天空照明)的效果,还能制作出时下非常普遍的,人们用来

炫耀他们模型的“全局照明效果”('GI look' )。这里有一个使用MR无光渲染的例子

,FG从环境光中采样:

图片如下:

就像下面这个例子,FG可以极大的帮助我们创建有阳光参与的组合光的室外场景.当然,这里仅仅是一个平面上的模型,没有太多室外场景。

图片如下:

这是个多模型的例子 .

图片如下:

FG的另外一个得意之处,就是物体光(object lights)(我们后面将制作一个)

。这里的一个示例场景,所有光线都是从一个多边形圆柱体发出的。物体光是非常有用

的,因为有了它,像霓虹灯标致和光子刀这样的物品,就能真实的产生光线和阴影。

图片如下:

使用FG——室外光
FG很容易上手并且相当的简单,但是在不同场景中要达到让人满意的效果所花费的

时间变化很大,不同场景中的渲染时间变化也很大。
这里是一个渲染的场景,我将用它作为这个指南的实例。
这个渲染只用了Maya的默认光,它仅仅是一些圆柱体构成了桌子,并有个球体放在

桌面上。材质是被赋予不同颜色的简单lambert材质。如果你愿意,可以自己创建一个

类似的简单场景。

图片如下:



rtzaa

职务:普通成员
等级:1
金币:21.0
发贴:1002
注册:2005/5/21 13:42:04
#22005/4/6 17:08:26
好了。现在开始制作一个像这样的使用FG的室外场景(叫做FG from now on),我

通常习惯从只有FG照明开始。
打开Maya的FG有两个主要步骤,第一个步骤实际上是在MR的render globals里打开

FG。
1、打开Render Globals
Window > Rendering Editors > Render Globals (mental ray)
2、在Quality中,选择Quality为Production。
有许多渲染品质预选项,但是它们的作用只是改变反锯齿,接通或者切断类似FG,GI和

Caustics(散射)的作用。我宁愿一直使用Production(很好的渲染品质的设定),因

为你自己改变设置相当的简单。
3、打开Final Gather段。
图片如下:

4、勾选Final Gather,这样就可以使用FG的设置以及打开FG了。
5、设置Final Gather Rays为500。
Final Gather Rays的数量决定着品质,因为它指定了有多少FG采样将在你的场景中被

计算。默认的设置1000是相当好的品质,但将花费很长的时间进行计算(至少在我1.5G

的电脑上是这样),而实际上我们希望作快一点的渲染测试。如果每次使用FG在测试渲

染的时候总要等上半分钟以上,那你只是在白白浪费时间。设置到500仍然可以达到不

错的效果却大大缩短了时间。
现在第一个步骤完成了!如果你现在渲染,不会发生太大变化,因为Maya使用环境

色(通常是黑色)决定FG光线的颜色和亮度。黑色的环境根本不产生FG光线。所以你需

要改变这种情况。
6、打开View > Camera Attribute Editor
这里包括了透视摄象机的所有属性,打开Environment段,把颜色从黑色改为深灰。现

在灰色的环境将提供我们需要的所有光线。即使我们选择的颜色(或者是我让你选择的

颜色)相当暗,但仍然提供了相当多的光线。
图片如下:

7、渲染!
但愿你能得到这样的图象:

不要着急!假设有这么亮!因为我们没有创建任何灯光,Maya仍然使用了默认的隐藏灯

光。所以才会在添加到FG上时,我们得到了过多的光线。我们只需要简单的创建一个光

源并把它的强度设置为0就可以很容易的修正这个问题。这样,Maya的默认光线关闭了

,我们仅仅从环境中获得FG光线。

注意:你当然可以通过Render Globals关闭默认光线,但是对于不知道这个选项在哪里

的人来说,最好使用零强度光。总之我常常使用零强度光,因为如果想希望后面给你的

场景添加GI并希望使用光源,零强度光源仍然可以作为独立的光子发射器。
在创建一个零强度光源后渲染,你应该得到这样的效果。
图片如下:

效果不错。但是还有有些单调,另外还有一些影子。让我们先来调整平面
图片如下:

--------------------------------------------------------------------------------
用一些比灰色更合适的颜色作为环境色,比如蓝色。并且创建一个有阴影的方向光源,

光源使用类似太阳的橘红色。把强度调节到0.5,因为原来的场景光线已经足够了。再

次渲染,得到这个效果:

图片如下:



rtzaa

职务:普通成员
等级:1
金币:21.0
发贴:1002
注册:2005/5/21 13:42:04
#32005/4/6 17:10:25
这相当有趣,因为环境色发出蓝色的光线,所以你可以看见影子的颜色。让我们说我们

希望看到这样的艺术效果,然后继续修改FG的影子效果。
渲染高分辨率的图片,阴影错误变的越来越明显。渲染高分辨率,因为MR将计算FG,所

以也会增加很多时间。这是渲染图片的一个部分,观察阴影错误:

图片如下:

--------------------------------------------------------------------------------
我们有两种方法修正这个问题,并且都能在render globals的FG部分找到修改参数的地

方。我们常常把两种方法结合使用,以达到最好的效果。
第一种方法是增加Final Gather Rays的数量。这将增加FG的采样数量,大部分时候能

解决问题。使用越多的FG Rays,就会花费更长的时间。说到渲染时间,为了查看MR渲

染一张图片的时间,需要改变一些选项。在MR的render globals中,有一段是决定反馈

信息的,叫做Translation。如果你在这个选项的下拉菜单选择Progress Messages,渲

染进度和时间就会在Output Window中打印出来。这里就是这个选项:
图片如下:

这个就是显示的渲染时间(在执行完一次渲染后)
图片如下:

好了。如果把FG Rays从500增加到1000,阴影错误消失了,看这个效果:

图片如下:

但是渲染时间从10.45秒增加到14.54秒。似乎还能忍,但是这仅仅是一个非常简单的场

景,而在复杂的场景中将显著的增加时间。
我们尝试解决阴影错误的第二个方法,是调整Min/Max Radius的数据(同样是在render

globals的FG部分)。这两个值影响着FG的取样方式。Max Radius值决定着FG采样间的

最大距离。Min Radius决定着相互获得采样的最近距离。默认的设置都是0,就是让MR

基于你的场景自动决定合适的值。通常Max Radius值是你场景大小的10%,Min Radius

是Max Radius值的10%。你可以通过Create > Measuring Tools > Distance Tool得到

你的场景大小。
使用Distance Tool决定Min/Max radius值,测量场景的距离(最长的边),取其值的

10%作为Max Radius,再取Max Radius值的10%作为Min Radius。如果场景中包含一个很

大的平面,或者附近有个很大的球,不要把它们计算在场景内,如果那样将增加半径值

并且你将有可能会损失重要的小物体的细节。
这里就是我们场景里面桌子的测量方法,这个是我的设定:

图片如下:



rtzaa

职务:普通成员
等级:1
金币:21.0
发贴:1002
注册:2005/5/21 13:42:04
#42005/4/6 17:12:14
这是我的场景,我的Min/Max Radius分别设置为0.143和1.43。无论怎么说,这根本不

是最佳设定,只是一个不错的出发点。当MR使用自动决定数据的时候(设置Min&Max为0

)实际上是使用0.228和2.28。我是怎么知道的?还记得我前面告诉你的怎么显示MR的

进度信息吗(在Translation段)?另外的选项在下拉菜单中,细节信息,给我们许多

渲染场景的信息,包括FG的半径设定值。就像这样:
图片如下:

你需要向上寻找显示这个消息的部分,因为有大量的信息。好了,现在我们有两组半径

数据,MR的的自动取值2.28和0.228(大概在计算中包括了所有平面),另外就是我们

的取值1.43和0.143。哪个效果会好些呢?我会告诉你可能是MR的自动取值。为什么呢


首先,Max Radius值越小,渲染时间越长(Maya帮助文件如是说),我们调整半径值的

主要原因就是不希望在增加FG Rays数量的时候增加渲染时间。其次,降低Max Radius

值增加FG计算的细节。如果有图象、阴影破裂或者细节错误,我们就需要增加FG计算的

细节。我测试我自己的数据设定看看有什么发生。这里是原来的渲染,旁边是新的渲染
图片如下:

就像你看到的,这基本上是使效果更糟糕。并且渲染时间是11.5秒,比原来的10.45秒

多。是的,我知道时间上只有细微的差别,但降低半径值反而降低了质量。我猜想我们

应该把值设定大点。于是我设定0.3到3,这是效果:
图片如下:

看这个效果,阴影错误基本消失了。渲染时间下降到9.31秒。在这个案例中,增加半径

值解决了问题并且减少了渲染时间。我们不需要增加FG Rays的数量。
好了,在下节我们制作物体光之前,我想我们还要为这个场景多做一件事情。那就是如

果在使用FG的场景中其他所有物体都效果良好,而单单有一个物品太两或者太暗。幸运

的是,现在Maya中,所有材质的属性中都有一个MR段,叫做发光色(Irradiance Color

)。这个属性控制了FG作用到这个材质上有多大的影响。默认颜色是全白的,意味着FG

将应用到全部的效果。举例来说,我们可以减小我们桌子材质的发光色。

图片如下:

这就是调整前后的效果对比。
漂亮,有很大的不同。我除了改变发光色外没有做其它任何事情,因为桌子是仅靠FG照

亮的,这种效果是意义重大的。调整发光色是一种很好的方法,用以当你大部分光线来

自FG时调整你的材质亮度。
图片如下: