Chaos
cn
登录
产品

拓展您的创意世界

探索 Chaos 生态系统

合集

云渲染

模拟

解决方案教育
Student Rendering Challenge 了解详情
用户社区
Partners in Art 了解详情
支持

访问 Chaos 帮助中心

访问帮助中心

我的账户

Chaos Help Center


学习资料作品集

V-Ray导入Anders Langlands的alsurface 着色器

 

alSurface着色器的历史

 

al着色器中的“al”是以作者Anders Langlands来命名的。他目前任职于Weta Digital的VFX sequence主管 。他写了一系列针对Arnold渲染器的着色器。Anders的动机是为Arnold植入可用于制作的Arnold 着色器,他觉得VFX的需求超出了目前Arnold所能提供的功能。其中一个他写的最重要的着色器就是alSurface着色器,也被称为uber - shader,这个着色器被大家拿来用在实体、金属、透明物、反射物,甚至次表面散射,例如皮肤材质。

以下是Maya中的alSurface uber-shader的全部接口:

他写的着色器一直在业界广为推崇,但是其中最为津津乐道的是alSurface着色器能出色地重现皮肤材质。

最近他开放了着色器的原始码,让其他人可以植入到别的渲染器中。

他甚至开了一个网页专门介绍他的al shader。

AlShaders 网站 >

 

V-Ray首次导入alSurface 着色器

 

基于V-Ray论坛上,Luc Begins这位V-Ray用户的强烈要求,加上这个着色器现在已经是开放程序代码的。Vlado决定要植入alSurface 着色器的部份功能,特别是皮肤材质的部份。

这个着色器会考虑到diffuse,两阶的specular与次表面散射,目前唯一缺乏的部份是折射与透明度,可能之后会添加进去。

以下是到目前为止 V-Ray的alSurface 着色器的分解说明:

由于导入alSurface 着色器的目的是以皮肤材质为主, 因此我们来看看跟其他的皮肤材质,Arnold中的aiSkin 着色器与VRay Skin Mrtl这三者有什么差异 (事实上作法很类似)

以下是差异点:

 

Diffuse
 

VRay Skin Mtl: Diffuse 与 Sub-Surface color事实上是两个不同的map然后以diffuse amount混合在一起。

alSurface: Diffuse与 Sub-Surface color用的是同一张map,然后有一个SSS控制surface如何受到subsurface scattering与Lambertian diffuse的影响。

 

Sub-Surface Scattering 次表面散射
 

VRay Skin Mtl: 有三阶的次表面散射,每个都平等地混合在一起,使用了标准的dipole model计算SSS。

alSurface: 同样也有三阶的SSS,但是每个各有权重控制,也提供几种SSS模式。Vlado已经导入了其中两种到V-Ray版的alSurface 着色器 Diffusion法,可以比标准的dipole model保留更多细节。而Directional法允许使用单一个Scatter maps 能保留更多细节。

 

Specular 高光
 

VRay Skin Mtl: 使用了两个lobe specular模型,具有锐利与宽广的反射,同时使用Phong作为reflective BRDF。这个模型在很多状况都很好用,但是在扫视(glancing angles)的角度时会因此减切到SSS 产生变暗的问题。这是因为Fresnel效应是根据一个函数计算观察角度与表面法线角度,而忽略了从光线照明表面的方向。

alSurface: 这个模型也用了两个lobe specular,但是除了使用如Phong或Blinn的平滑BRDF 它还此用了微表面(microfacet)。Fresnel效应则是根据一部分BRDF的计算(也就是所谓光泽度的菲涅耳效应,glossy Fresnel)并且会考虑到观察的角度,表面法线与光线的方向,使用者可以选择GGX与 Beckmann BRDF两种模型,根据微表面的特性,可以避免透过逆反射(retro-reflection)在扫视角度的变暗问题。除此之外这个模型在同样的扫视角度不包含SSS。

 

其他明显的差异

用在Fresnel的IOR在两个着色器都不同, 因为计算fresnel的方式有所不同。 因此,如果用户使用相同数值 alSurface 着色器的看起来会反射更强。

VRay Skin Mtl使用glossiness 因此高数值就更光亮,而alSurface 着色器使用roughness因此数值越高就越diffuse。因此,如果你要转换套用的话,贴图就必须要先反转。

VRay Skin Mtl以diffuse混合,表示数值1等于100% diffuse。alSurface 着色器则是根据SSS混合,表示数值1等于100% SSS。如果你有用到贴图,Single Scatter Map 可能也需要反转才能套用。

 

哪里可以下载 alSurface 着色器

 

这个着色器目前可以在我们的Github下载:

https://github.com/ChaosGroup/vray_al_surface/releases

 

3ds Max 的安装

将3ds Max版本的.dlt文件复制到[maxroot] \ plugins \ vrayplugins活页夹。
 

3ds Max 中的用法

该材质称为VRayALMtl。

 

Maya 的安装方法

Windows 操作系统

将文件vray_BRDFAlSurface.dll复制到V-Ray plugins的活页夹中(f.e. C:\ program files \ autodesk \ maya2016 \ vray \ vrayplugins)

将vray_BRDFAlSurface.dll的路径添加到环境变量(environment variables )VRAY_FOR_MAYA2016_PLUGINS_x64和VRAY_PLUGINS_x64

Linux 操作系统

将文件libvray_BRDFAlSurface.so复制到V-Ray plugins文件夹(f.e. / usr / autodesk / maya2016 / vray / vrayplugins)的活页夹中

将libvray_BRDFAlSurface.so文件的路径添加到环境变量(environment variables )VRAY_FOR_MAYA2016_PLUGINS_x64和VRAY_PLUGINS_x64

 

Maya 中的用法

您可以从创建> V-Ray>创建V-Ray插件> BRDF材料创建新的材料。 从该列表中选择BRDFALSurface。

 

将VRay的SSS与alSurface SSS进行比较

 

维基人体(wikihuman)的计划一直致力于从ICT数据组提供的数据,以了解组装皮肤着色器的最佳方法。从一开始我们就明白,根据我们拥有的数据集,V-Ray中的标准皮肤着色器不再适合。所以我们制作了新的着色器,可以更符合从ICT获得的Lightstage数据。

然而,alSurface着色器可以在技术上原本就更能使用Lightstage数据。因此,我们决定拿这个着色器跟维基人体的着色器做比较测试。

 

更新:维基人体计划在这个网站已经进行了深入的比较。

以下是将维基人体的数据,比较两个不同的着色器。我们将很快对Wikihuman.org网站上的着色器做更深入的分析。

ChaosEnscapeCylindo
© 2022 Chaos Software 保留一切权利

Your shopping cart

There are no items in your cart.

Continue shopping
MasterCard
Visa
AmEx
JCB
Discover
PayPal