查看: 9063|回复: 0
打印 上一主题 下一主题

[Vray] 详解Vray快速3S材质2号(VRayFastSSS2)

[复制链接]

9210

主题

1

听众

5万

积分

内部人员

Rank: 7Rank: 7Rank: 7

纳金币
12582
精华
186

活跃会员

跳转到指定楼层
楼主
发表于 2013-11-5 17:23:28 |只看该作者 |倒序浏览
pstatus"> 本帖最后由 lut_456 于 2013-11-5 17:25 编辑

前言:vray快速3S材质2号是老版Vray快速3S材质的升级版,其效果和可调参数的详细程度都有质的飞跃。Vray快速3S材质2号包含完整的漫反射与镜面反射参数,老版则需要使用Vray混合材质才能做到这一点。

Vray快速3S材质2号的数据计算是基于BSSRDF的,BSSRDF是Bidirectional Scattering Surface Reflectance Distributed Function的缩写,即双向散射表面反射分布函数。简单地讲就是,物体内部的光线散射是具有各向异性的,且其散射方向是可调的。你可以让物体光线在物体内部向四周呈辐射状散射,也可以让光线顺着其射入物体表面的方向散射(用来模拟牛奶、皮肤等),或让光线逆着其射入物体表面的方向散射(模拟大理石、玉等)。这样细致的参数设定,我只在Maxwell这样的物理渲染器中见过。

老版Vray快速3S材质只有一个卷展栏、十几个参数可调,而新的Vray快速3S材质2号则有四个卷展栏、二十几个参数可调,其最终效果的可控性有明显提高。



总述(General)

Vray快速3S材质2号(VRayFastSSS2)主要用于渲染像皮肤、大理石这样的半透明材料。这种材质的实现基于H. Jensen(详情见教程结尾的参考)等人所最先提出的BSSRDF原理,其最终效果是次表面散射这种物理现象的近似值,同时其效果对于实际使用是足够快的。

与老版Vray快速3S材质的不同之处在于,Vray快速3S材质2号是一个可以直接调整漫反射和镜面反射参数的完整的材质,而不需要借助于Vray混合材质(VRayBlendMtl)。准确地说,这个材质是由三个层组成的:镜面反射层(Specular layer),漫反射层(Diffus layer)和次表面散射层(Sub-surface scattering layer)。次表面散射由单一散射和多重散射这两部分组成。单一散射发生在光线在物体内部第一次反弹时(类似间接照明里的一次反弹,对散射效果的影响最大)。多重散射发生在光线在物体内第二次或第二次以上反弹时。

参数(Parameters)

常规参数(General parameters)


预设(Preset):你可以使用各种预设的材质。多数材质是基于H. Jensen等所提供的测量数据。


有图有真相

以下为预设材质的示例,其数据大多来源于H. Jensen所著《散射光线传输的实用模型(A Practical Model for Subsurface Light Transport)》中的,对实际材料进行测量所得到的数据。为了更好的显示3S效果,没有开启全局光照。






预处理比率(Prepass rate):Vray快速3S材质2号加速计算多重散射的方法是,预先计算建模表面顶点的光照信息并将其存储在光照贴图(Illumination map)中。光照贴图是与发光贴图(Irradiance map)类似的,用来计算全局光照近似值的贴图,它同样也使用Vray内置的预处理机制(Prepass mechanism),这种机制也在用插值法计算镜面反射与折射等效果时使用。这个参数决定了在预处理阶段,建模表面光照的分辨率。

值为0时,预处理的分辨率将与渲染出图分辨率相同,即每个像素进行一个光照采样。值为-1时,预处理的分辨率将是渲染出图分辨率的一半。如果出图分辨率是100x100,那么预处理分辨率就是50x50,也就是每四个像素进行一个光照采样。为了获得高质量渲染,建议把值设为0或大于0;过低的值为产生不真实感,或在动画中产生闪烁。如果所用的预处理分辨率过低,以至于不足以计算的准确的多重散射效果,Vray快速3S材质2号将用一个简单的漫反射效果来替代多重散射效果。举例来说,当建模离摄像机很远,或表面散射很微弱时,这种替代效果也会发生。这个简化机制是由预处理模糊(Prepass blur)这个参数控制的(在选项(Option)卷展栏中)。


有图有真相

下面的示例展示了预处理比率所造成的影响。为了更好的展示,将预处理模糊设为0,这样的话,即使采样不足时,也不会用漫反射来替代次表面散射。请注意,什么样的值既能减少渲染时间,又不会产生块状的错误渲染。

解析:在下面的示例中,同为-1的预处理比率,散射半径4cm的材质的效果很不错,而散射半径1cm的材质仍有明显的错误(眼袋下缘的块状错误)。可见,材质的透明度越高(散射半径越大),所需要的预处理比率也越低,因为光线被模糊了。
单击看大图



比例(Scale):用来决定次表面散射半径之比例的额外选项。Vray快速3S材质2号在计算次表面散射效果时,通常会使用场景所设置的单位来计算。然后,如果你的场景不是按照真实比例来建模,这个参数可以用来调整渲染效果(也就是说,直径1cm和直径1m的两个玉石球,其3S效果是不一样的;但通过这个参数,你可以让Vray把直径1cm的当成是直径1m的来渲染)。这个参数也可以调整预设材质的渲染效果,因为预设材质的散射半径虽然经过调整,但其散射比例是默认值。


有图有真相

下面的例子展示了比例(Scale)参数的效果。请注意,比例的值越大,物体的半透明越强。从效果上讲,比例和散射半径的作用没有本质差别,但其可以单独地来调节预设材质的效果(如果改变散射半径,就改变了材质的物理性质,而比例参数只是影响Vray在计算3S效果时所识别的建模的尺寸,等于是欺骗的渲染器...)。

为了更好的显示3S效果,没有开启全局光照。单一散射(一次反弹)设为光线追踪(固体)(Raytraced (solid)),材质使用的是大理石(白)。

解析:同一半透明材质,光线能够穿透的距离是固定的。假如使用一个光线穿透距离为1cm的材质,那么建模厚度为10cm时,光线只能穿透建模的1/10;而建模厚度为1cm时,光线就可以直接穿过建模。所以,材质固定不变时,建模越小,透明度越高。因此,由下面图例可知,比例1.0就代表vray在计算散射时把建模按原尺寸的1/1来计算,比例为100就代表vray在计算散射时把建模按原尺寸的1/100来计算。
单击看大图




折射率(IOR):材质的折射率(Index of refraction)。大多数水基材质的折射率为1.3,如皮肤。漫反射和次表面散射层(Diffuse and sub-surface scattering layers)

总体颜色(Overall color):控制材质的总体色调。这个颜色作为漫反射和次表面两者的滤镜而起作用。

漫反射色(Diffuse color):漫反射部分的颜色。

漫反射数量(Diffuse amount):漫反射部分的数量。请注意,这个值事实上用来控制漫反射层与次表面散射层的混合程度的。当值为0.0时将没有漫反射层;当值为1.0时将只有漫反射层,而没有次表面散射层。漫反射层是用来模拟物体表面的灰尘等效果。

次表面颜色(Sub surface color):次表面层的大体颜色(位于漫反射层之下)。

散射色(Scatter color):内部散射的颜色。较亮的颜色将令光线产生更多的散射,使材质更加透明;较暗的颜色令材质看起来跟漫反射的颜色更相似。


有图有真相

下面的例子展示了散**色与次表面颜色的效果,以及两者之间的关系。请注意次表面颜色是如果影响材质的外观的,而散**色只能改变内部的散射。

在第一组图片中,次表面颜色保持为绿色不变,只改变散**色。

解析:此时漫反射数量估计是默认的0.0,也就是没有漫反射层,次表面颜色即为材质的固有色,所以材质的受光面显示为绿色。而在背光面及阴影处,因光照不足,散**色才表面出来。
单击看大图




散射半径(Scatter radius):控制光线散射的数量。较小的值将产生较少的光线散射,令材质看起来更接近漫反**色;较大的值让材质看起来更透明。请注意,这个值总是以厘米为单位;该材质将根据当前所选场景的单位,自动将数值转换为厘米制的数值。


有图有真相

下面的例子展示了散射半径的效果。请注意,其效果和增加散射比例是一样的,不同处在于各预设材质的散射半径是不同的。

下面的示例图片是基于预设材质中的脱脂牛奶。左下角的小正方形的边长是1cm。可看到,散射半径越大,散射越强烈,背光面和阴影也越亮。
单击看大图



相位功能(Phase function):一个介于-1到+1的值,用于决定光线在材质内部进行散射的大体方向。(-1到+1的值)所形成的效果的关系,有点类似于物体表面漫反射与镜面反射的关系。光线照射到不透明物体表面后,所发生的反射只有漫反射和镜面反射(两者的总能量等于照射光线的能量)。漫反射越多(表面越粗糙),镜面反射越少;漫反射越少(表面越光滑),镜面反射越多,但两种反射的总值是不变的。

相比较而言,相位功能控制着半透明物体反射与折射(透射)的值。当值为0.0时,光线的散射均匀地朝向各个方向(各向同性散射);正值意味着将产生更多前向散射(即散射方向与射入光线的方向一致);负值意味着将产生更多的反向散射(即散射方向与射入光线的方向相反)。大多数水基材质(如皮肤、牛奶)产生强烈的前向散射,而像大理石一样的坚硬材质产生反向散射。该参数对单一散射(一次反弹)的影响更大。正值减少单一散射(一次反弹)的效果,而负值从整体上加强单一散射(一次反弹)。


有图有真相

下面的例子展示了相位功能的效果。它的效果变化是很微妙、很细小的。

下面的一组图片是相位功能为不同值时的示例图,红箭头代表射入物体的光线,黑箭头代表散射光线。

解析:为负值时,光线进入物体更深。


下面一组图片展示了该参数的实际渲染效果

解析:为负值时,因为光线进入物体更深,且向反方向(朝向摄像机)散射出来更多光线,所以背光面更“通透”;为正值时,光线进入物体较浅,且更多光线顺着射入方向散射,在物体内部被消耗吸收。


下面一组图片展示了当光源位于半透明物体内部时,该参数的效果。立方体的材质基于预设材质皮肤(粉),采用了较大的散射半径,单一散射(一次反弹)使用了光线跟踪(折射)模式,折射率为1.0。关闭了前向照明和背向照明,多重散射(二次反弹)不再起作用;只有单一散射(一次反弹)是可见的。请留意立方体内的光源所投射的阴影。

解析:立方体使用的是皮肤(粉)材质,“V-Ray”字样使用的是普通白色的不透明材质,光源是Vray球形光。光源和“V-Ray”都位于立方体内部。

当相位为负值时,材质的透光性更好一点,所以第一张图的立方体看起来更透明一些。

当相位为负值时,光线散射的方向更多的朝向光源本身;为0时,光线均匀地向各个方向散射。所以第一张图中的“V-Ray”的背光面比第二张暗,因为第二张的“V-Ray”背光面接受更多散射的光线。

镜面反射层(Specular layer)


镜面反**色(Specular color):决定镜面反射的颜色。

镜面反射数量(Specular amount):决定镜面反射的数量。请注意,程序为根据材质的折射率,自动地为镜面反射应用菲涅尔衰减(即使用菲涅尔反射)。

镜面反射光泽度(Specular glossiness):决定光泽度(高光外形)。值为1.0时产生清晰锐利的反射,更低的值将令反射和高光更加模糊。

镜面反射细分(Specular subdivs):决定计算镜面反射时的采样数。较低的值将渲染较快,但会产生噪点。较高的值将减少噪点,但渲染会拖慢。

镜面反射(Specular reflection):勾选时将计算镜面反射。当关闭时,仅产生镜面高光。
解析:这个选项其实是控制是否开启全局照明的,关闭时产生的镜面高光其实是3dmax默认线性渲染器所制作的“假高光”。高光,是指高反射率的物体对光源反射所产生的镜像,应与光源的形状相同。如Vray面灯产生的高光是方形的,Vray球形灯产生的高光是圆形的。
当然,关闭这个选项后,计算速度会加快。

镜面反射跟踪深度(Specular trace depth):计算反射时,光线反弹的次数。
选项(Option)


单一散射(Single scatter):相当于间接照明中的一次反弹,即光线进入物体后进行的第一次散射,对3S最终效果影响最大。这个选项可以控制单一散射的计算模式。

无(None):不计算单一散射,即没有3S效果。

简单(Simple):单一散射将根据表面光照的近似值进行计算。这个选项适用于像皮肤这样的透明度较低、光线不能完全穿透的材质。

光线跟踪(固体)(Raytraced(solid)):单一散射将根据建模内部体积(the volume inside the object)进行精确计算。只有建模内部的光线被跟踪;来自于建模背面的折射光线将不被跟踪(原文:Only the volume is raytraced; no refraction rays on the other side of the object are traced. 关于这句话下面有详解)。这个选项适用于像大理石或牛奶一样高透明度的材质,同时也适用于高透明度材质(当然渲染时间比简单模式长)。

光线跟踪(折射的)(Raytraced(refraction)):类似于光线跟踪(固体)模式,但折射光线被跟踪。这个选项适用于像水或玻璃这样的透明材质,且材质会产生透明的阴影。


有图有真相

下面的例子展示了单一散射的各模式的效果

首先,对于低透明底材质,不同模式产生的效果是相似的(当然渲染时间不同)。下面图片中,材质的散射半径是0.5cm。




下面的一组图片中,散射半径是50cm。这个例子中,材质的透明度相当高,各种不同模式的单一散射的效果区别很明显。请注意,光线跟踪(折射的)模式所产生的阴影也是透明的。

解析:使用泛光灯照明时,除了光线跟踪(折射的)模式可以产生透明阴影外,三种模式的效果没有太大差别。原因在于,后两种模式可以进行光线跟踪来模拟全局照明,但Max自带的泛光灯是无法提供全局照明的...

而使用Dome灯加HDRI照明时,三者区别明显。首先,由于有了全局照明,后两者比简单模式获得更多的照明光线,所以建模边缘处半透明效果很明显。而之所以光线跟踪(折射的)比光线跟踪(固体)的效果更好在于“no refraction rays on the other side of the object are traced.”这句字面意思是:建模另一边的折射光线不被追踪。建模另一边指什么?我的理解是“建模的背面”,也就是建模中背对摄像机的那一面。也就是说,由HDRI贴图射向建模背面的光线在通过折射进入建模后所发生的散射不被计算。而光线跟踪(折射的)计算了这些折射光线,所以边缘更透明,我将在第三个例子中进一步证明这一观点。




在下面的例子里,我们来制作混浊的水的效果。请注意:光线跟踪(折射的)模式可以让你看到水下的物体。

解析:可以看到,只有在光线跟踪(折射的)模式下才可以看到水下,也就是3S材质内部的物体。在这个场景中,楼梯的建模应该是直接插入混浊水的建模中的,vray在计算时把自动把楼梯与混浊水建模的相交面识别为混浊水发生次表面散射的边界。能通过混浊水建模看到楼梯,说明楼梯所反射出来的光线通过混浊水建模的背面(背向摄像机的一面)进入混浊水建模后,被进行了光线跟踪。这也印证我在上个例子对“no refraction rays on the other side of the object are traced.”的解释。
注意事项(Notes)

·当你使用的单一散射为光线跟踪(固体)或光线跟踪(折射的)时,你需要为3dmax自带灯光使用Vray阴影来获得正确的渲染效果。

·Vray快速3S材质2号使用Vray预处理系统来模拟来插值计算次表面散射效果。当使用的GI引擎为灯光缓存或光子贴图时,本材质将被当作是普通漫反射材质来计算。

解析:发光贴图(Irradiance map)的预处理是由最小比率和最大比率控制的,灯光缓存或光子贴图的卷展栏都没有最小比率和最大比率的参数,应该是不支持预处理的。鉴于业内大多是采用发光贴图做一次反弹引擎,再搭配其它三个引擎做二次反弹引擎来出图,所以我们只需要考虑二次反弹。

·综上所述,在灯光贴图引擎的步进式通道跟踪模式(progressive path tracing mode)中,本材质将被当作是普通漫反射材质来计算(测试情况同上)。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-25 19:22 , Processed in 0.108705 second(s), 27 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部