导言:
首先,我为什么想写这一个
3dmax教程?我想一些模型云上的朋友和我一样可能并不是CG行业中的高手,而只是有一台不是很差的个人电脑,有着CG的制作意愿,然后就投身到CG的制作中了。但是这个业余爱好实在需要大量的精力与时间,新手和高手的差别巨大,许多爱好者都没有扎实的基础,看到各种各样的插件,尤其是物理精确的渲染器的惊人效果,都投身到新软件的学习中去了。
其实作为一个业余爱好者,我们的计算机不是工作站,不可能完全应用到那些高级的功能。max本身就是一个相当强大的工具,一个精力有限的爱好者,主要的精力应该放在自身的美术修养和基础知识上,而不是去追赶潮流,一定要用最新的软件。等到你的基础知识扎实了,再用那些高级渲染器就会易如反掌。
这个教程是基于一个外国教程,加上我的一些感受,又加了一点参考资料写出来的,目的在于给奋斗的新手们一点帮助。
第一步
先来看一下我们今天的目标。这是没有用高级渲染器,只是用了scanline的效果。对于新手来说,即是用高级渲染器,也往往达不到这个效果。要实现这个效果,需要美术的功底,另外,就是对max灯光的比较深入的了解。前者我们今天先不涉及,后者则是我们要讨论的。
第二步
首先,按照一般人的想法,这个场景中只有一个光源,就是阳光。然我们来验证一下,如果简单的打上一个灯,把环境色改成浅蓝色后直接去点那个右上角的白痴茶壶,很好,这是每个人都熟悉的让人看了想吐的所谓默认效果。
看了这个效果之后,绝大所数的人就开始鄙视Default Scanline,然后就装了Br、Fr、Vr等等,开始研究高级光能渲染器。往往是高级渲染器说明书都背烂了,做出的效果一样的让人想吐(我就是这样的一个蠢人)。这个态度不是一个科学的态度,我们看到自己的效果不理想时,首先要分析一下为什么这样差。让我们仔细分析一下默认的效果为什么看起来失真。
图中标出的地方就是为什么这个图看起来失真的第一个原因:在现实生活中,物体的背面不可能是这样深的一致的黑色,一方面,来自周围物体的光线会反弹到这些暗的区域,另一方面,在户外场景中,真实的情况是,阳光进入大气层后,会出现散射的情况,这样,在所有的户外场景中,都有天空光的存在。天空光是一种方向随机的光线,在max中提供了Light Tracer这样的插件进行模拟。而高级渲染器则几乎都提供了这样的天空光模拟。这个场景只是使得正对面的表面被照亮,更接近于在月球等没有大气散射的星球上的情况。关于光线行为的知识,建议新手们找本书研究一下,其实高级渲染器的说明文件也是不错的。
第三步
其次,我们看到,所有的物体的明暗分界线都特别锐利,阴影的分布也特别的尖锐。
好,废话了这么多,我们如何来纠正这个情况:很简单,打灯。我知道这个词很让许多新手紧张,因为下意识中,我们总是觉得灯就是会让场景有人为照明痕迹的东西,应该越少越好。在高级渲染器中,往往也是很少的灯就可以了。
但是请各位记住,max的默认灯光和真实世界中的灯光是大不相同的,max默认灯光不会衰减,即使到了很远的地方,单位面积上的光强还是不变;如果不打开投影,那么连阴影都不会有;光线也不会反弹;总之,他更像是一个光强指向器,而不是真实的光源。这么来说,似乎默认灯光太差了,但是这些特性,正为我们布光留下了很大的自由操作空间。
现在详细讲解一下这个场景中的灯光设置。阳光由directional light模拟,因为阳光正是平行光。光的颜色设为明亮的黄色,就是快到中午时太阳的颜色。关掉它的specular,讲到材质时我会告诉你这样做的理由。现在需要关注的阳光的阴影,这些阴影在图上有大量的显示空间,必须注意。主要要调的选项是在advanced effects中的:Contrast 和Soften Diffusion Edge选项组。这两个参数对于灯光如何影响物体的表面至关重要。对于这个场景,两个值都在30-40左右是合适的。
注意,如果是在不同的天气情况下,这个值需要不同。具体的含义请参见max帮助。
现在要关注的是shadow map的size值,默认值太低了,把它改成3000左右较为合适,这样细节才比较好。Bias值为0, sample range设为8.0时阴影边缘更柔和。
第四步
物体边缘不再模糊了,光线的色彩也好多了,但是死黑的问题还是没解决。现在来用灯光模拟天空光的效果。最有效的方法是灯光阵列。
在本场景中,我们用四盏omni来模拟天空光。这是要一点技巧的工作,但是,如果你很不愿意手调的话,用一个半球形的灯光阵列就可以了,灯越多,效果越均匀,但是计算时间越多(但比起变态的GI计算,这个几乎可以说是不花时间)。有四项需要注意:
1.灯光阵列的颜色。在有些灯光阵列比较主要的场景中,整个氛围的运造需要一些色彩,但要具体情况具体分析,本场景中,阳光是主要色彩制造者,所以我们的灯光阵列可以不设颜色。另外就是人的视觉心理感受,以此例来说,阳光的色彩是亮黄色,是暖色,因此即使不在天空光中加入色彩,有阳光投下的阴影会有一种心理上的冷色调,接近于浅蓝的感觉。 基本的原则是主光源冷色调,阴影就会有暖色调的感觉。
2. 灯光的放置,如前所述,如果你利用了很多的灯,这个就不重要了,但是如果像这里只用很少的灯,注意他们的摆放位置。 方法很简单,关掉主光源,移动各个灯,直到整个场景中的物体边缘看起来都被均匀照明就可以了。
3. 灯光强度,这个对于不同的场景有不同的要求。自己调吧。
4. 阴影:注意,在灯管阵列中,阴影是应该被打开的,这样可以模拟天空光在物体互相相对的位置最暗的特点。如果灯比较少,阴影的Sample Range 要设的高一些,这样才可以模拟天光阴影特别柔和的特点。如果你打了一大堆灯,这个设置就次要一些,因为灯互相之间会冲掉对方的阴影。
可以看到效果是不错的,比用高级的渲染器的天光差不了多少,可是后者的那个快啊。
第五步
现在整体的布光差不多结束了。还有最后的一点,就是我们所说的Light bouncing,即周围的物体向向光物体的背面投射光线的现象。这和color bleeding联系比较紧密。在这个场景中,由于物体的尺度相对较大,color bleeding并不明显,因此我们只用模拟一次光线反射就可以了。设置的方法也很简单,以模拟阳光的directional light 轴线为轴,反反向再加一个平行光就可以了。最后的布光图如下。
第六步
接下来,来讲解材质的设置。
在这个场景中,我们使用了大量的程序贴图。很多的爱好者都没有意识到程序贴图的强大之处:不需要物体自身的 uvw坐标,因此可以避免贴图拉伸的情况;另外,程序贴图有很多的参数可调,要重新设置效果也特别方便,不用在photoshop里呼天抢地。可是这也是他的缺点。你没有办法去仔细控制它的每一个细节,具体的效果只有渲染了才知道。
让我们开始吧!首先是创建一个 RayTrace材质,之所以用RayTrace,因为他比默认的phong,blin等等要先进,计算方法要精确,可以在图上见到巨大的差别。我们要对付的是三个通道Diffuse, Specular,再就是Bump。好,先把bump解决了吧!
把除了地面以外的所有东西先隐藏起来。想一下地面有什么特征才有趣?一个纯色的,没有任何起伏的地面时没有什么意思的,那就像是水泥一样。一个充满了起伏和裂缝的地表才有意思。具体怎么做呢?方法就是把多层的程序贴图混合起来。
首先在bump通道建一个Noise map,钩选Fractal选项,把Size值设小一些以获得更多的细节。把Noise Treshold的最大值和最小值设的比较靠近以增加对比度。现在还不用担心更小的细节,因为我们会在这个Noise下面再嵌套一个noise map。现在点我们的noise map的黑色方块,再给他一个noise map。这个贴图的size值应该更小以便于创造更多的细节,把这个贴图的类型改成Turbulence,这样最终的结果会更有趣。把这个贴图的颜色设成暗灰色。现在退回到我们的最初的noise下面,点白色的按钮,给他一个 Cellular map,把size值改小并且把类型改成Chips。然后把bump通道的输出值改成100。
说了这么多头都晕了,给一个设置图和效果大家看下。
第七步
然后就是更深入的设置了。由于在地面上我们不希望是这样的一个单调的颜色,因此我们接下来要设置diffuse channel&specular channel.我们所有的贴图都使用程序贴图,因此有个复杂的材质树。
设置完成之后,渲染看下效果。
第八步
很好,接下来要设置的是石头的材质。仍然是以RayTrace材质为主,用于保证贴图的高光的正确性。好了,下面是石头的材质设置和效果。
第九步
现在接近完成了,这一步要加入一些渲染后效果,如体积光,lens effects,Film Grain等效果。注意Film Grain的值设成0.2,Lens effects中加入Glow特效,体积光设置如下图。
3d模型下载完成最终效果。