Arnold 3s材质详细使用教程

Arnold 3s材质详细使用教程


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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信