小涵 发表于 2012-9-14 09:58:29

Arnold 3s材质详细使用教程


先讲aiSkinSss shader

1、AiSkinSss的参数面板:

    AiSkinSss的参数并不算多,使用一段时间后觉得其设计思路非常清晰,很容易就能知道参数设置的意义及用法,下图1是AiSkinSss的参数面板及个人注释:



图1

2、Sss实现原理

    Arnold默认采用点云的方式来实现3s效果(光线追踪方式的3s计算方式见本文第三部分),对模型表面点云进行球形着色,而Radius则就是模型表面点云中每个点上的球形着色半径,也就是说,半径足够大或者点云足够密的情况下,3s效果看起来是均匀的(因为球形相互叠加),但如果半径过小或者点云稀疏就会导致颗粒感,如下图2,左边是默认的aiSkinSss,右边改了下3s全局半径乘数:

Arnold for Maya自带的shader中有两个可以实现次表面散射效果,一个是做皮肤专用的aiSkingSss,另一个是通用材质球aiStandard。这俩材质球在Arnold中的定位类似于Mentalray中的misss_fast_skin_maya和mia_material_x_passes。



图2

    从图2可以看到,左边的3s效果感觉深入皮肤很深,右边的3s效果变浅很多,如果是希望做成右边的浅3s效果,又不想颗粒感太强,需要调节物体shape节点下的SSS Sample Spacing(3s点云采样间距)参数,该参数默认是0.1。我们刚才把全局半径缩小了10倍,那么为了实现同样光滑的结果,可以把SSS Sample Spacing也减小10倍,如图3:



图3

3、关于三层次表面散射分量的关系:

    Shallow Scatter、Mid Scatter、Deep Scatter,实际上是同样的东西,可以理解aiSkinSss材质球包含三层次表面散射,区别就在于可以定义不同的Radius,通过改变Radius,可以把Shallow Scatter变成Deep Scatter,Deep Scatter变成Mid Scatter,等等。下图4中三层sss半径完全一致,分别给了R、G、B纯色,结果能够一定程度解释三层sss的关系:



图4

4、关于Primary Reflection和Secondary Reflection的关系:

    实际上就是两套反射与高光,比一套放射与高光更多控制而已,能做出比一套反射与高光更细腻的效果,例如一套采用光滑反射,另一套采用模糊反射等等。注意在Arnold中“高光”包含了传统意义上的高光以及Skydome light作为HDR环节贴图的反射。Arnold中的“反射”更多指的是场景物体见的反射。

5、关于AOV(RenderPass)及合成:

AiSkinSss可以很方便的输出后期合成所必须的aov,包含了三层3s分量、两层反射-高光分量,一层直接漫反射照明分量和一层间接漫反射照明分量,见图5:



图5

    AiSkinSss输出AOV并在Nuke中的合成测试如图6



图6

    从图6可见直接渲染图与AOV通道合成后的效果几乎无差别,合成师只要根据效果增加校色节点继续加工即可。

   附aiSkinSss材质球测试渲染的图7-9,记住两张图中不仅有3s效果,同样有diffuse、reflection和specular。

图7 :SSS Radius Multiplier=1.5
图8:SSS Radius Multiplier=4.5
图9:SSS Radius Multiplier=9


再讲aiStandard

1、参数及释疑

    如果说aiSkinSss shader是arnold中专门用来做高可控性3s的材质的话,那么aiStandard就是兼职来做点带3s效果的材质球。AiStandard shader中有关3s的参数很少,基本上就是aiSkinSss中三层3s分量的简化版,如图10:



图10

    表面上参数是少,不过要注意的是Radius参数有RGB三个值,分别对应aiSkinSss shader中的shallow Scatter、Mid Scatter和Deep Scatter,也就是三个3s分量的半径!这三层3s在aiStardard 材质球中也只有半径这个参数可以单条了,其他的例如Weight和Color参数,都是共用的,因此这个材质球不如aiSkinSss能调的那么细,但是调一般的带3s属性的简单物体足够了。

    高半径(高透度)测试如图11:



图11

接着我尝试用aiStandard材质球尽可能的模拟aiSkinSss材质球的效果,对比见下图12:



图12:左图渲染时间4分21,右图渲染时间1分44

可见aiSkinSss实现的效果在颜色上还是细腻一些,不过aiStandard已经能做到比较接近。

2、关于AOV:

    AiStandard的aov中针对3s效果的通道只有“sss”一个,图我就不截了,参考图5的aov面板,因此在后期合成灵活性上不如aiSkinSss——当然这仅仅说的是制作3s效果。

光线追踪方式的3s计算方法

    Arnold中还存在另一种计算漫反射3s效果的方法,即Bidirectional Scattering Surface Reflectance Distributed Function(Function双向散射表面反射率分布函数),简称BSSRDF。名字看着蛋疼不过没关系,有兴趣的同学可以看我后文所给出的知识链接。

    BSSRDF计算3s的方法在arnold for maya的开启方式很简单,如下图13:



图13

关于BSSRDF,火星时代summerraygl发的帖子说的很好:

“BSSRDF是Bidirectional Scattering Surface Reflectance Distributed Function双向散射表面反射率分布函数的缩写。

说到BSSRDF就不得不先说BRDF。BRDF是Bidirectional Reflectance Distributed Function双向反射率分布函数的缩写。

要完备地描述真实世界中的材料的反射性质,就必需描述在各个方向入射到材料上的光线在各个方向的反射强度按反射方向的分布情形。这就是所谓的“双向反射率分布”。其中完全镜面折/反射光强按折/反射角的分布情形是由物理学家A.J.Fresnel(菲涅耳)总结出来的,被称为菲涅耳公式。而计算机图形学中长久以来使用的光照模型(如,phong,lambert,blinn等)就是物理学范畴中的BRDF的近似。

然而,即使是物理学范畴中的BRDF都有不完备之处------它是在假定光线的入射和反射发生在材料表面同一点的前提下进行统计的。而光在射入真实世界中的绝大多数材料表面时都会扩散到材料内部,然后再经过各不相同的路径反射出来,总而言之不是限定在材料表面同一点发生。这样一来恐怕只有金属才是严格的BRDF,其它能发生或强或弱散射的材料都可归为BSSRDF。云,大理石,葡萄,牛奶,人体的各种生物组织都是明显表现半透明的材料,都是因高度散射造成的。要表现这些特性用BRDF显然力不从心。而BSSRDF却能兼容所有材料的属性,包括BRDF。可见不能忽视BSSRDF。

我在CG里更是重视半透明材料的表现。

BSSRDF还有一大优点就是它从一开始就是基于分布式光线追踪采样的,广泛用到Monte Carlo估计手法,利于与常规光线追踪兼容,也能很好地与基于分布式光线追踪的GI和caustic协同工作。”

如果说Point Cloud和BSSRDF都是用来“模拟”自然界中光线通过半透明介质所产生的效果的话,那么BSSRDF要比Point Cloud方法更加物理一些,因此BSSRDF也是一种非常理想的计算3s的方法。只是…. BSSRDF方法太慢了,见下图14:



图14:左图渲染时间5分56,右图渲染时间5分21

Point Cloud vs. BSSRDF实现3s的优缺点对比



Point CloudBSSRDF
渲染速度快慢
缺点默认采样方式动画易闪低精度噪点很明显
优点过渡平滑无噪点无闪烁


    如果有足够高的渲染力,BSSRDF方法是个不错的选择,不用花心思去避免闪烁。不过一般情况下还是Point Cloud比较实惠,尤其做静帧。

有关更多Arnold及BSSRDF的相关知识请参考以下链接:
http://archive.hxsd.com/showthread.php?t=507026 有关BSSRDF
http://tieba.baidu.com/p/1276778699 Arnold杂谈
http://blog.csdn.net/sunacmer/article/details/7451861 蒙特卡洛光线追踪
http://www.cnblogs.com/leoo2sk/archive/2009/05/29/1491526.html Monte-Carlo算法

附上Arnold人头渲染测试一张,模型及贴图素材均取自Eat3D的Mentalray皮肤材质渲染教程



分辨率2k*2k,可接受的抗锯齿级别,渲染时间6分59秒

血鸦海盗 发表于 2012-9-14 11:02:27

不错!!学习下!

可可西里的狼 发表于 2012-9-14 15:39:02

谢谢分享!顶个啊!

wr28216317 发表于 2012-9-20 00:33:53

谢谢分享   学习学习

forcesboy 发表于 2015-12-4 22:24:13

thank for share
页: [1]
查看完整版本: Arnold 3s材质详细使用教程