返回到->

最新动态

V-Ray Next标准材质中添加金属性参数—设计师可以沿用PBR 工作流而无需使用全新的着色器

作者:炫云 (发表日期:2019-1-14 18:10:23)

“基于物理的渲染(Physically Based Rendering)”这个专有名词 – 简称 PBR – 本身意味着 PBR 中使用的材质定义基于真实物理。有些人还认为这表示其他着色模型不是基于真实物理;其实这个说法是错的。

虽然实时渲染着色模型不一定基于真实物理,但其他光迹追踪器(如V-Ray)一直以来都是基于物理的。而PBR着色模型因实时渲染而变得非常流行,原因有两个:

1. PBR 确实是基于物理的。

2. PBR 材质需要更少的变量 – 这个流程使用纹理贴图来定义材质。

由于内存资源对于电玩产业十分重要,因此 PBR 模型不可避免地变得非常受欢迎,并且有非常多的资源。

PBR 着色模型与其他基于物理的着色模型(例如 V-Ray 使用的着色模型)的主要区别在于 PBR 如何描述反射。但是其中大多数设计师都知道的“金属性(metalness)”参数。如果你查看大多数物理书籍,你找不到任何材质的金属性的描述。那么,让我们来仔细研究这个术语的含义。

关于金属性

事实上,两种不同类型的材质之间有很大差别:电介质(dielectric)和导电材质(conductive)。介电材质是绝缘体和导电材质导电。介电材质包括玻璃,塑料,木材,陶瓷,皮革…等。导电材质包括钢,铜,金 – 换句话说:就是金属。

电介质(dielectric)

电介质(dielectric)

导电材质(conductive)

导电材质(conductive)

在物理学中,导电材质具有不同的反射特性,这就是为什么大多数人认为导电材质具有高反射性而没有漫射特性。如果您的渲染器基于介电属性,则通常经由去除漫反射并为着色器提供高菲涅耳(fresnel)数值来表现金属 – 这个数值往往远高于您在物理书中看到的数值(稍后详细说明之)。

当在着色器中添加导电材质作为选项时,这可以使人们更容易呈现金属。令大家困惑的是,材质要不是电介质就是导电材质; 并不存在介于中间的状态。金属性这个词,以及它是 0 到 1 的变量 而非 0 或 1 状态意味着存在不同程度的金属性。 在现实世界中,根本没有这种材质。PBR 的许多用户认为控制物体的反射率都应该通过 0 到 1 之间的金属性值来完成,并且折射率(IOR)值对于所有材质都是常数; 这在物理上是不准确的。不同的材质具有不同的 IOR 值,而且材质不是电介质,就是导电材质。

PBR,电玩游戏和 Substance Designer

PBR 已经在 Unity 和 Unreal 等工具的实时渲染领域变得非常流行,电玩产业也是。这个行业另一个广受欢迎的工具是 Allegorithmic 公司出品的 Substance Designer。Substance 允许艺术家绘制适合 PBR 着色的贴图并包含金属性贴图(metalness map)。

然而,不仅仅是游戏设计师爱用 Substance。Substance 也被用于建筑可视化,VFX 和其他使用 V-Ray 等工具进行 CG 渲染的行业。因此,许多用户希望将这些贴图与 V-Ray 一起使用。因此,在 V-Ray Next 中,Chaos Group决定在 V-Ray 标准材质中添加 Metalness 参数,以便更支持 PBR 工作流程。

您的 PBR 工作流程

既然我们已经建立金属性应该是全有或全无的状态,这样的观念了,那么让我们看看如何正确设定材质。在制作介电材质时,漫反射颜色控制着色的朗伯光源(Lambertian,或译作理想反射)部分,反射由几个变量控制:反射颜色作为整体反射的加乘数; IOR 表示前向法在线(forward-facing normals)的反射率与掠射法线(glancing normals, 也称为 Fresnel, 菲涅耳)的比值;和总体散射量的光泽度(或是roughness, 粗糙度的相反),具体取决于您选择使用的 BRDF 模型。

当切换到金属材质时,通过使金属性(Metalness)值1来完成,这个变量具有不同的含义:

由于金属中没有漫反射颜色,漫反射颜色变成所谓的基色(base color) – 或反照率颜色(albedo color)。

反射应设置为白色,以获得适当的反射率和能量守恒; 没有这个,掠射角永远不会是 100% 反射 – 如果遵守能量守恒就应该是 100%。

混合多少反射仍由菲涅耳效应的相同 IOR 值控制; 你会发现这会有个非常微妙的效果,因为整个材质基本上都是反光的 – 好似你将两种不同的反射混合在一起。

光泽度控制它的光泽度; 但是,如果您使用粗糙度图(例如 Substance 所产生的),您可以将 V-Ray 材质切换为粗糙度 – 这个属性是光泽度的相反。

以下举些例子

现在已经大致了解金属性的工作原理,让我们来看看几个例子及其设置:

Diffuse 255,255,255;Reflection 255,255,255;Glossiness 1;IOR 1.5

Diffuse 255,255,255;Reflection 255,255,255;Glossiness 1;IOR 1.5

Diffuse 0,0,0;Reflection 255,255,255;Glossiness 1;IOR 1.5

Diffuse 0,0,0;Reflection 255,255,255;Glossiness 1;IOR 1.5

Diffuse 0,0,0;Reflection 255,255,255;Glossiness 1;IOR 2

Diffuse 0,0,0;Reflection 255,255,255;Glossiness 1;IOR 2

Diffuse 243,201,104 (gold);Reflection 255,255,255;Glossiness 1;IOR 1.35

Diffuse 243,201,104 (gold);Reflection 255,255,255;Glossiness 1;IOR 1.35

Diffuse 46,46,46 (18% gray);Reflection 255,255,255;Glossiness 0.6;IOR 1.5

Diffuse 46,46,46 (18% gray);Reflection 255,255,255;Glossiness 0.6;IOR 1.5

折射率

正如之前提到的,IOR 在创建基于物理的材质时仍然发挥着重要作用。因此,在创建材质时仍要将 IOR 考虑进去。 而 RefractiveIndex.info 这个网站是查询不同材质其 IOR 的重要资源。可是,其数值套到 V-Ray 着色器中并不完全适用。因此,Vlado 创建了此图表协助简化转换:

 RefractiveIndex.info 上的IOR 转换到V-Ray上的表格

以下是基于 RefractiveIndex.info 网站上的一些金属示例:

拉丝铝(Brushed aluminum)

拉丝铝(Brushed aluminum)

抛光铝(Polished aluminum)

抛光铝(Polished aluminum)

钨(Tungsten)

钨(Tungsten)

铜(Copper)

铜(Copper)

金属性纹理贴图

许多设计师可能更倾向于使用金属性(Metalness)参数,因为这些是他们已有的贴图。因此,金属质感贴图更像是两种不同类型材质之间的蒙版(mask):电介质或导电材质。

以下示例显示了Chaos Group如何获得两种不同的材质:一种具有金属性并设置为 1; 另一个使用 Substance Designer 设置为 0。您将看到V-Ray可以使用单个着色器和更少的贴图创建两种不同的材质:基色(base color,),金属性(metalness),法线(normal)和粗糙度(roughness)。

Substance Designer 树状显示贴图输出

Substance Designer 树状显示贴图输出

生锈的铜。使用 Substance Designer 贴图并 以V-Ray 进行渲染着色器

生锈的铜。使用 Substance Designer 贴图并 以V-Ray 进行渲染着色器

PBR 材质非常受到设计师欢迎,让设计师在许多不同类型的渲染器中使用贴图,尤其是实时渲染解决方案。但许多设计师还希望继续将这些相同的纹理与 V-Ray 一起使用。新增的 Metalness 参数添加到 V-Ray Next 的标准材质中,设计师可以沿用其 PBR 工作流而无需使用全新的着色器。



更多动态

V-Ray for sketchup 渲图保存为exr边缘有白色锯齿如何解决?

如何拯救您过度曝光的素材?

Arnold渲染器使用自发光材质实现折射焦散效果

V-Ray for 3ds Max中Raytrace材质导致渲染卡住或者崩溃解决方案

卡在灯光缓存阶段问题解决办法及案列分析