CG橙子精彩导航: CG橙子搜索引擎 | 博客 | 动画视频
广告|项目|培训|竞价排名  
86CG > CG教程 > 渲染 > Mental Ray > Mental ray - 4的HDRI应用

Mental ray - 4的HDRI应用

类型:整理 | 来自:86CG | 时间:2007-12-4 |  点击:
当物体在曝露在白天的户外的话,它们主要可能受到两种光照的影响,即蓝色的天光和金黄色的太阳光(天光是由于阳光穿过空气的过程中被气流多次折射并且被空气中的细微悬浮物漫放射所形成的),阳光可以通过简单的光源来模拟,天光可以通过一个包围场景的巨大球体来模拟,不过我们怎样让这个巨大的球体来对物体产生照明效果呢?方法就是利用final gather算法,并且让球体的材质带有一定的自发光。 稍后我们可以看到这种方法的效果。某些情况下,也许我们只用final gather就足以照亮我们的场景,但如果场景中有些部分不能够被天光和阳光直接照射到的话,只单独使用final gather也许会有问题。MR的final gather和其他一些同样拥有全局照明能力的渲染器相比有个缺点,那就是你不能设置场景中final gather光线的强度(译注:FG的强度和材质的属性有关,但你不能单独设置FG的强度),由于这个原因,我们必须借助于global illumination(译注:这里说必须太夸张了,为了速度着想,很多情况下我们可以用补光或补负灯光的方法)。
   现在,我们可以开始工作了,在这个场景中,我们可以看到一个简单的寺庙模型。

   首先,我们创建两个球体包围着寺庙的模型,内圈的球体将用来作为光源并且它是不可见的,外圈的球体是可见的,它对场景没有照明作用,仅仅为渲染结果增加一个蓝天背景(译注:如果你想带alpha渲染,是不需要这个球体的),ok,先创建第一个球体,并且缩放为40 40 40,打开hypershade窗口,创建一个lambert shader并且指定给这个球体,接着进入球体材质的属性编辑器,将Diffuse值调为0,并且将Incandescence值调为天蓝色——我调的是R0.269 G0.38 B0.537,注意不要使用太亮的颜色,否则它的FG效果会将场景照的过亮,为了管理方便,可以将材质命名为类似Inner_Sphere之类的名字。之后,在视图中选择球体并且打开它的属性编辑器(ctrl+A),展开在attribute editor > nurbsSphereShape1选项卡中的Render Stats栏,关闭Cast Shadow、Receive Shadow、Primary Visibility、Visible in Refraction和Visible in Reflection这几个选项,这样,该球体是不会在渲染结果中被渲染出来的,但是final gather的计算仍然会把它作为光源来计算照明。
   在你创建完第一个球体后,再创建另一个球体并且缩放为41 41 41,接着创建另一个lambert shader并且赋予这个球体,在该材质的属性编辑器中将Diffuse和Color值调为0,并选择你想要的Incandescence颜色。这个球体是能够被渲染的,不过它不对场景产生照明作用。你也许会问为什么创建两个球体,用一个球体既让它产生光照又让它作为天空背景不就好了吗?这样做是因为用两个球体的话我们可以有更大的控制余地,我们可以通过调节第一个球体的Incandescence来控制FG的效果,而通过调节第二个球体的Incandescence来控制天空背景的颜色但却不影响的FG的照明效果。
   此时渲染的话,应该会得到该图的渲染结果(译注:怎么可能是这个结果,maya有默认灯光的说,作者老兄可能忘了)

我们应该怎样让我们创建的球体变成光源呢?解决办法就是final gathering,按照前面几课学到的知识,进入RenderGlobals(MentalRay) > Quality,点击RenderQuality旁边的小按钮创建mentalrayOptions1,展开mentalrayOptions1的Final Gather栏并且勾选Final Gather,为了能够快速的调节和预览,将Final Gather Rays降低为100并且渲染场景。渲染后你将会看到天光所产生的效果了(译注:你渲染的结果可能会比这张图亮得多,前面我已经提到过,这是由于现在场景中没有创建任何灯光,故maya的默认灯光会参与渲染,导致结果过亮,为了排除maya默认灯光的影响,你可以创建一盏强度为0的灯光,在稍后创建了阳光的光源后就可以把它删除或隐藏了)。

   接下来,我们创建太阳光,To do this,创建一盏spotlight。你也许会问为什么不使用和太阳光更为相似的directional light?我这样做的目的是因为directional light不能够用于计算global illumination,但我们这里要用到GI,所以我们必须找到另外一个解决方法,那就是使用spotlight(译注:directional light是能够用于计算GI的,不知是不是作者搞错了)。由于我们使用的是spotlight,故我们应该将其放置在离寺庙模型很远的地方以使它的照明特点更接近于directional light。
   当我们创建spotlight之后,把它放到远离寺庙靠近内圈球体的地方(x-18.6 y23.23 z15.58),并且让它朝着寺庙进行照射,之后进入spotlight的属性编辑器并且将灯光的颜色调为接近阳光的亮黄色,例如R1 G0.87 B0.571,将intensity值调为0.75,将Cone Angle调为90度, 勾选Shadow > Raytrace Shadow Attributes栏下的Use Raytrace Shadow。现在如果渲染场景的话将会得到与该图类似的结果


刚才渲染所得到的结果看上去不能令人满意,我们需要将影响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。之后,我们可以用高分辨率来进行最后的渲染。

 

 最后效果如图。

 

(完)
可打印版本 | 文章评论 | 我来纠错

|网友评论

    笔名:

    内容:

        

    iPad售楼系统软件

    国内最好的全景漫游软件任我游

    iHouse售楼系统软件

    谁都可以轻松开发APP(HTML5APP)

    全景视频3D视频视景360

    HTML5移动平台iOS/Android解决方案

    强大的地图引擎ZoomMap

    环物浏览器Object360

    |热点关注

    关于我们 - 版权隐私 - 友情链接 - 广告服务 - 项目合作 - 网站地图 - 联系方式

    ©Copyright by 86CG.COM, 2006-2013. All rights reserved 京ICP备06059503号