mental ray - 3 - outdoor scenes & men
当物体在曝露在白天的户外的话,它们主要可能受到两种光照的影响,即蓝色的天光和金黄色的太阳光(天光是由于阳光穿过空气的过程中被气流多次折射并且被空气中的细微悬浮物漫放射所形成的),阳光可以通过简单的光源来模拟,天光可以通过一个包围场景的巨大球体来模拟,不过我们怎样让这个巨大的球体来对物体产生照明效果呢?方法就是利用 final gather 算法,并且让球体的材质带有一定的自发光。 稍后我们可以看到这种方法的效果。某些情况下,也许我们只用 final gather 就足以照亮我们的场景,但如果场景中有些部分不能够被天光和阳光直接照射到的话,只单独使用 final gather 也许会有问题。 mr 的 final gather 和其他一些同样拥有全局照明能力的渲染器相比有个缺点,那就是你不能设置场景中 final gather 光线的强度(译注: fg 的强度和材质的属性有关,但你不能单独设置 fg 的强度),由于这个原因,我们必须借助于 global illumination (译注:这里说必须太夸张了,为了速度着想,很多情况下我们可以用补光或补负灯光的方法)。
接下来,我们创建太阳光, to do this ,创建一盏 spotlight 。你也许会问为什么不使用和太阳光更为相似的 directional light ?我这样做的目的是因为 directional light 不能够用于计算 global illumination ,但我们这里要用到 gi ,所以我们必须找到另外一个解决方法,那就是使用 spotlight (译注: directional light 是能够用于计算 gi 的,不知是不是作者搞错了)。由于我们使用的是 spotlight ,故我们应该将其放置在离寺庙模型很远的地方以使它的照明特点更接近于 directional light 。
刚才渲染所得到的结果看上去不能令人满意,我们需要将影响 final gather 品质的相关数值调得再高一些,不过我们稍候再调节,现在,回想一下我之前说过的关于 fg 的缺点 ——mr 的 final gather 和其他一些同样拥有全局照明能力的渲染器相比有个缺点,那就是你不能设置场景中 final gather 光线的强度,这个缺点在我们刚才渲染的那种图中可以看到,寺庙内部的区域的照明不够强,这使得画面看上去不太真实,这也是我们为什么需要 global illumination 帮助的原因。
to setup the global illumination ,打开 spotlight 的属性编辑器并且在 mental ray > caustics and global illumination 栏下勾选 emit photons 选项,并且,在 render globals (mentalray) > mentalrayoptions1 > caustics/global illumination 栏勾选 global illum 选项,之后,我们来做一下测试渲染,你会发现现在的渲染结果和没有打开 gi 前没有多大的区别,这是因为 global illumination 的强度不够所造成的,为了让 gi 的效果更明亮一些,在 spotlight 的属性编辑器并且把 exponent 的数值调为 1.6 ,之后渲染,如图所示
这正是我们想要的结果!现在,我们通过两方面来最后改进我们的最终渲染,我们通过对之前两个教程的一步步练习,现在已经应该心中有数了,这次,我仅仅只说一下应该使用的参数。首先,在灯光属性编辑器中将灯光发射的光子数量增加为 50000 ,并且在 mentalrayoptions1 里将 global illum accuracy 增加到 250 ,将 global illum radius 增加到 3 ,这将会使我们的渲染变得慢一些,但同时也获得更高的渲染质量,接着,在 final gather 栏我们选择使用 250 的 final gather rays, 0.75 的 min radius 和 8 的 max radius 。另外,我们是使用简单的 spotlight 来模拟太阳光,这将会得到清晰锐利的阴影,这在某些情况下会显得不够真实,我了获得更好的阴影,我们可以使用 mentalray 的 area light , to do that ,在 spotlight 属性编辑器的 mentalray > area light 栏下勾选 area light 选项并且选择 sphere 为灯光的类型,对于 sampling选项的数值,如果增加的话会改进面积光阴影的效果,不过对于这个例子我们不去改动它了。在视图中有一个球形的图标包围着 spotlight ,这个球形代表了 area light 的大小,对于这个场景,它太小了一点,我们可以把它缩放到 2 2 2 。之后,我们可以用高分辨率来进行最后的渲染。