咨询电话:400-810-1418服务与监督电话:400-006-6572

室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

发布时间:2019-09-12 15:33:32

▷阴影的4种计算方法

前面学习了[阴影参数]卷展栏中的参数含义,该卷展栏中的参数对所有的阴影计算方法都起作用。接下来学习4种不同的阴影计算方法,如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

打开[常规参数]卷展栏,单击[阴影贴图]可以打开下拉选项,其中有5种不同的阴影计算方法: [高级光线跟踪] 、[mental ray阴影贴图]、[区域阴影] 、[阴影贴图] 和[光线跟踪阴影]。由于[mental ray阴影贴图]在使用mental ray渲染器进行渲染时才可使用,所以这里先不介绍这种阴影计算方法。下面我们就来一一讲解其余4种阴影计算方法。

01 阴影贴图

首先来讲解[阴影贴图]这种阴影计算方法。[阴影贴图] 算法的原理实际就是将阴影看成一张贴图,然后烘焙到阴影生成的地方。[阴影贴图] 是3ds Max系统默认的阴影计算方法,也是较为常用的阴影计算方法。

在选择了[阴影贴图]之后,会在下方出现相应的[阴影贴图参数]卷展栏。

将[阴影参数]卷展栏中的数值恢复为默认值,灯光颜色设置为默认白色RGB [255, 255, 255]。

在[阴影贴图参数]卷展栏中将[偏移]值设为1,对场景进行渲染,效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

仔细观察渲染结果,椅子脚与阴影之间有明显的距离,现实生活中是不会产生这样的阴影的。

阴影与物体之间的距离是由[偏移] 值来进行控制的,目前默认的[偏移]值为1,所以阴影与物体之间有一段距离,没有完全连接在一起。

现在将[偏移] 值设置为0,使物体与阴影之间没有偏移,渲染效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

观察效果,椅子脚与阴影之间的距离消失了,但是在桌子的受光面却出现了较虚的阴影,这种阴影也是不正确的,这是由于[偏移]值太小造成的。

将阴影的[偏移] 值设置为0.5,对场景进行渲染,效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

通常情况下,将阴影的[偏移]值设置为0.5, 就可以得到较为正确的阴影效果。

由于[阴影贴图]算法的原理是将阴影看成一张贴图烘培到阴影生成的地方,那么这个贴图就涉及到一个分辨率的问题,所以可以将[大小]参数理解为设置[阴影贴图]分辨率的参数。

首先将[采样范围]设置为最小值0.01,这样可以更加清晰地观察到[大小对阴影质量的影响。

将[大小]值分别设置为30、512和3000. 对其效果进行渲染,如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

[大小]值为30时,阴影变成了方形的小块,完全丢失了阴影的细节。

[大小]值为512时,即[大小]的默认值,阴影的轮廓出现了,但是阴影边缘有很严重的锯齿现象,从边缘也能观察到小块的效果。

[大小]值为3 000时,阴影边缘的小块明显变小,但是边缘仍然有锯齿效果。

[大小]值越大,占用的内存会越多,相应耗费的渲染时间也会越长。

在介绍[大小]参数时,有一个问题尚未解决,就是阴影边缘的锯齿。要解决阴影边缘的锯齿,就需要设置[采样范围]参数了。

[采样范围]参数是对阴影产生模糊化处理的参数。在进行[大小] 参数的练习时,我们将[采样范围]参数设置为最小值0.01,也就是对阴影不会产生任何模糊效果,所以无论[大小]值设置得多高,都无法清除边缘的锯齿。

设置[采样范围]参数为4,即系统的默认值,分别设置[大小]为512、 3 000,对场景进行渲染,效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

观察效果,将[采样范围]参数设置为4后,[大小] 为512的阴影看不见锯齿了,但是[大小为3 00的阴影仍然能够看见锯齿,还需要进一步提高[采样范围] 参数值。

设置[采样范围]参数为24,分别设置[大小]为512、3 000,再对场景进行渲染,效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

同样是[采样范围]参数为24,[大小] 为512和3 000的区别就非常明显了。

TIPS:[大小] 值小的阴影,使用较小的[采样范围]就能使其边缘模糊;而[大小]值大的阴影,需要较大的[采样范围]值才能使其边缘模糊。[ 大小]值越小,[采祥范围]的模糊作用力就越强。

对于[双面阴影]参数的理解,先看下面的一个设置。现在将[阴影贴图参数]卷展栏还原为默认值,[大小] 为512,[采样范围] 为4, 使模型投射出较为清晰的阴影,对场景进行渲染,效果如图所示。

 室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

仔细观察效果,发现杯子的阴影不正确、 杯子的内侧并没有投射阴影,从而形成了一个中空的阴影。

产生这种现象的原因是因为杯子材质是单面材质,只有法线面可以投射阴影,而反法线面则无法投射阴影。

对于单面材质出现阴影错误的问题,有两种解决方法:

方法一,在[材质编辑器]中将材质设置为[双面]材质;

方法二,勾选[双面阴影]选项。

按M键打开[材质编辑器],找到杯子的材质,打开[明暗器基本参数]卷展栏,勾选[双面],对场景进行渲染,如图所示,这时杯子的阴影正确了。

室内渲染中高级灯光阴影技术(二):阴影的4种计算方法

如果场景中有多个物体都是单面材质,就需要对其材质逐个进行修改,操作较繁琐。这时只需要勾选[阴影贴图参数]卷展栏中的[双面阴影]选项,就可以解决场景中所有物体的单面材质问题。

勾选[双面阴影]选项之后,阴影计算时间会有所增加。

[绝对贴图偏移]选项主要在动画输出时使用。进行单帧渲染时,不要勾选此项,否则会对阴影的质量产生影响。

[阴影贴图]的优缺点

至此,[阴影贴图]的所有参数就大致讲解完了,对于[阴影贴图]这种阴影计算方法,有优点,但是其缺点也是比较明显的。

优点:速度快,可产生模糊的阴影效果。

缺点:模糊的阴影效果不真实。模糊的阴影效果应是从物体近处向远处逐渐越来越模糊,而阴影贴图的模糊是阴影所有的地方全部模糊。它的另一个缺点在于,无法计算透明材质,如本例中椅子靠背的材质是透明材质,但是无法渲染出透明物体的阴影效果。