上次我们介绍了3Ds MAX中的“子面散射”(SubSurface Scattering,简称SSS)的效果和原理,这种现象是由于材质内部散射光线的作用而形成的,即当光线进入之后在物体内部不断折射而形成的效果。这一节我们以前面的“琉璃”制作过程为例,来看看在Mental Ray材质库中实现SSS的基本方法。
主要有三个步骤:
一、使用Mental Ray渲染器和材质的选择
二、Parti Volume贴图
三、Parti Volume Photon贴图
今天我们介绍“子面散射”(SubSurface Scattering,简称SSS)效果实现的第三步:Parti Volume Photon贴图。

仍然在mental ray Connection卷展栏中,单击Photon Volume通道后面的按钮,从材质/贴图浏览器中选择Parti Volume Photon(physics)贴图,
利用该贴图的默认设置直接进行渲染可以得到这样的效果:
extinction(光子)=0.001
可以看到效果略有改进,但是仍然非常不明显,继续提高extinction的大小
extinction(光子)=0.01
extinction(光子)=1.5
这时的渲染效果已经非常“出格”了,原因并非extincetion参数太大,而是当前这个光子贴图的mode设置有问题,下面我们调整一下。
第1页:Parti Volume Photon贴图
第2页:重新设置mode
我们将其设置为2(设置为2时,模型不再是整个都散射光线,只有一层具有子面散射特性),然后再次渲染可以得到这样的效果:
extinction(光子)=1.5 mode(光子)=2
现在的问题是,光子的消散距离太短,都在模型内部消散了,这样就会使模型内部亮度过高,因此需要增加max_step_len(注意不要将这个参数和前面Parti Volume贴图中的同名参数混淆,它们的作用是不同的),我们将max_step_len增加为20,再次渲染可以得到如下的效果。
extinction(光子)=1.5
mode(光子)=2
max_step_len(光子)=20
这里要强调一下,SSS材质的渲染效果是和模型尺寸相关的,在max_step_len设置值上表现得尤其明显,在本文介绍的例子中,模型的最大的宽度是20,因此我们这里设置max_step_len为20。在你自己实际使用中可以根据情况进行类似的设置,当然不必死板,可以根据模型的尺寸上下浮动。
背景知识:Parti Volume贴图的参数
mode:当mode参数被设置为0时,整个模型都是“参与介质”,当mode设置为大于0的值时,下面的height参数将会起作用,模型只有一部分是“参与介质”,也就是材质只有一定的厚度的一部分参与光线的散射。
scatter:scatter参数设置材质将对那种颜色的光线进行散射,这个颜色就是模型“体”所显示出来的颜色。
extinction:extinction是介质的“消散系数”,它用来决定光线(光子)进入模型内部之后有多少被吸收,有多少被散射。这个参数设置为0时,相当于光线在在清洁的空气或者真空中传递,这个参数越大,材质的密度越大,光线越难透过(因为光子被散射掉的量比较大)。
r、g1和g2:这三个参数乍一看有点让人感到莫名其妙,不过他们却提供了对材质的散射效果的更加细致的控制。如果g1和g2都设置为0,则光线进入材质内部后进行“同性散射”,也就是说,光子碰到材质的微粒后,可能会向任何方向散射出去。这里插一句,只有材质内部的颗粒半径和光子半径相接近时,散射现象才可能出现。g1和g2设置为不等于0的值,光子将会作“异性散射”,-1<g1(或g2)<0时,光子向后散射,而0<g1(或g2)<1时,光子向前散射,而参数r则用来决定有多少光子向前散射,多少光子向后散射。
nonuniform:这个参数决定材质是同质的,还是异质的,如果设置为0,表明材质是完全同质的,也就是密度均匀,光线的散射也比较均匀;如果设置为1,材质是完全异质,光线的散射会有较大的变化,渲染出来的效果会显得材质中“杂质”比较多;当然也可以将这个参数设置为0到1之间的值。
height:决定参与光线散射的模型的厚度。从这个参数的存在,我们也能感觉到SSS材质不再像许多其他材质那样可以“一次设计,任意移植”,SSS材质的参数设置和模型的尺寸形状是有密切关系的,通常我们并不能直接将别人设计好的SSS材质拿过来直接使用,而是要根据自己的模型修改一些参数,比如这里的Height就是其一。注意,如果最开始的mode参数设置为0,height参数是没有效果的。
min_step_len和 max_step_len:这两个参数决定光子在异质材质内部散射时的最小步长和最大步长。 |
小结
SSS材质可以说是最复杂的材质了,在很多场合中,要想达到逼真的渲染效果,经常要使用SSS材质。此类材质的效果是比较难控制的,参数也比较多,含义不像其他材质那么容易明白,但是一般只要抓住extinction、scatter和max_step_len就可以制作比较好的效果。
另外如果你在实际操作中没有实现文中介绍的效果,首先请检查一下模型的尺寸和材质的参数设置,其次检查一下光源的设置。检查光源设置时考虑两个因素,一是光源的强度要恰当,二是尽量不要使用漫反射光源(Omni),因为这种光源会浪费很多光子(也就是很多光子没有照射到模型上,渲染器必须对其进行计算,但是又不会得到任何效果),不但会导致渲染速度下降,而且会影响最终的效果。
阅读关于 3DsMAX 材质 三维 的全部文章第1页:Parti Volume Photon贴图
第2页:重新设置mode