2024年4月29日发(作者:x1carbon2016版拆机图)
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双向反射率分布函数的缩写。
要 完备地描述真实世界中的材料的反射性质,就必需描述在各个方向入射到材
料上的光线在各个方向的反射强度按反射方向的分布情形。这就是所谓的“双向
反射率分 布”。其中完全镜面折/反射光强按折/反射角的分布情形是由物理学
家l(菲涅耳)总结出来的,被称为菲涅耳公式。而计算机图形学中
长 久以来使用的光照模型(如,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 Cloud BSSRDF
渲染速度 快 慢
缺点 默认采样方式动画易闪 低精度噪点很明显
优点 过渡平滑无噪点 无闪烁
如果有足够高的渲染力,BSSRDF方法是个不错的选择,不用花心思去避免闪烁。
不过一般情况下还是Point Cloud比较实惠,尤其做静帧。
有关更多Arnold及BSSRDF的相关知识请参考以下链接:
/?t=507026 有关BSSRDF
/p/1276778699 Arnold杂谈
/sunacmer/article/details/7451861 蒙特卡洛光线追
踪
/leoo2sk/archive/2009/05/29/
Monte-Carlo算法
-----全文完----
ps:附上Arnold人头渲染测试一张,模型及贴图素材均取自Eat3D的Mentalray
皮肤材质渲染教程:
分辨率2k*2k,可接受的抗锯齿级别,渲染时间6分59秒
直线网
发布者:admin,转转请注明出处:http://www.yc00.com/num/1714341891a2428339.html
评论列表(0条)