您需要 登录 才可以下载或查看,没有账号?注册
x
01基于物理的渲染和着色理论光是一种复杂的现象,因为它可以表现出波和粒子的特性。因此,已经创建了不同的模型来描述其行为。
作为纹理艺术家,我们对光的光线模型感兴趣,因为它描述了光和物质的相互作用。了解光线如何与表面物质相互作用很重要,因为我们的工作是创建描述表面的纹理。我们创作的纹理和材料在我们的虚拟世界中与光相互作用。我们越了解光的行为,我们的纹理就会看起来越好。
在本指南中,我们将讨论基于物理的渲染 (PBR) 模型物理背后的理论。我们将从检查光线的行为开始,然后逐步定义 PBR 的关键特性。
02光线光的射线模型指出,光线在均匀透明介质(如空气)中具有直线轨迹。射线模型还表示,当遇到不透明物体等表面时,或穿过不同介质(例如从空气到水)时,射线将以可预测的方式表现。
这使得可以可视化光线从起点移动到另一个点的路径,在那里它变成另一种形式的能量,例如热量。
撞击表面的光线称为入射光线,其撞击的角度称为入射角(图 01)
图 01:入射光、入射光和反射光的角度 光线入射在两种介质之间的平面界面上。当光线照射到表面时,可能会发生以下一种或两种情况:
- 光线从表面反射并沿不同方向传播。它遵循反射定律,即反射角等于入射角(反射光)。
- 光线沿直线轨迹从一种介质传播到另一种介质(折射光)。
此时,光线分裂为两个方向:反射和折射。在表面,光线要么被反射,要么被折射,最终可以被任何一种介质吸收。然而,吸收不会发生在材料表面。
03吸收和散射(透明和半透明)在非均匀介质或半透明材料中传播时,光可以被吸收或散射:
当光被吸收时,光强度会随着它变成另一种形式的能量——通常是热量——而降低。它的颜色会随着吸收的光量而变化,取决于波长,但光线的方向不会改变。
光线散射时,光线方向随机变化,偏差量取决于材质。散射使光的方向随机化,但不会改变其强度。耳朵是这种现象的一个很好的例子。耳朵很薄(吸收率低),所以你可以看到从耳朵后面辐射出来的散射光,如图02所示。
图 02:从耳后辐射的散射光 如果没有散射并且吸收很低,光线可以直接穿过表面。玻璃就是这种情况。例如,假设您在干净的游泳池中游泳。你可以睁开眼睛,透过清澈的水看到很远的地方。但是,如果同一个水池相对较脏,污垢颗粒会散射光线并降低水的清晰度,从而减少您能看到的距离。
光在这种介质/材料中传播得越远,它被吸收和/或散射的就越多。因此,物体厚度对光被吸收或散射的程度起着很大的作用。厚度贴图(Thickness map)可用于向着色器描述对象的厚度,如图 03 所示。
图 03:在 Substance Painte 中与次表面散射一起使用的厚度贴图
04漫反射和镜面反射正如我们在光线部分所讨论的,镜面反射是指在表面反射的光。光线从表面反射并沿不同方向传播。它遵循反射定律,即在完全平坦的表面上,反射角等于入射角。然而,大多数表面是不规则的,反射方向会根据表面粗糙度随机变化。这会改变光的方向,但光强度保持不变。
较粗糙的表面将具有更大的高光,并且看起来更暗。更光滑的表面将使镜面反射保持聚焦,并且从适当的角度观看时,它们看起来会更亮或更强烈。但是,在两种情况下反射的总光量相同(图 04)
图 04:反射方向会根据表面粗糙度随机变化 折射是光线方向的变化。当光从一种介质移动到另一种介质时,它会改变速度和方向的折射率,或IOR,是描述在光线行进的方向上的变化的光学测定。本质上,IOR 值用于确定光线穿过一种介质到另一种介质时会弯曲多少。例如,水的 IOR 为 1.33,而平板玻璃的 IOR 为 1.52。在图 05 中,您可以看到放置在一杯水中的吸管的渲染图。当光线穿过不同的介质(空气、水和玻璃)时,吸管看起来会因折射而弯曲。
图 05:吸管因折射而显得弯曲 漫反射是经过折射的光。光线从一种介质传播到另一种介质;作为我们的例子,我们假设它进入一个对象。然后光在该物体内多次散射。它最终再次折射出物体,并在其最初进入的大致相同点处返回到原始介质(图06)
图 06:光线从一种介质传播到另一种在物体里面散射 漫反射材料具有吸收性。如果折射光在这种材料中传播的时间过长,它可能会被完全吸收。如果光确实离开了这种材料,它可能只从进入点传播了很小的距离。
因此,入口点和出口点之间的距离可以被认为可以忽略不计。Lambertian 模型用于传统着色意义上的漫反射,没有考虑表面粗糙度。然而,其他漫反射模型,例如 Oren-Nayar 模型,确实考虑了这种粗糙度。
具有高散射和低吸收的材料有时被称为参与介质或半透明材料。例如烟、牛奶、皮肤、玉石和大理石。后三个的渲染可能通过附加的次表面散射建模成为可能,其中光线的入射点和出射点之间的差异不再被认为可以忽略不计。精确渲染具有高度变化和极低散射和吸收的介质(例如烟雾或雾)可能需要更昂贵的方法,例如蒙特卡罗模拟。
05微观方面的理论理论上,漫反射和镜面反射都取决于光线与介质相交处的表面不规则性。然而,实际上,由于材料里面发生散射,粗糙度对漫反射的影响不太明显。因此,光线的出射方向与表面粗糙度和入射方向完全无关。最常见的漫反射模型(朗伯)完全忽略了粗糙度。
在本指南中,我们将这些表面不规则(Surface Irregularities)性
称为表面粗糙度(Surface Roughness)。表面不规则可以有几个其他名称,
包括粗糙度(Roughness)、平滑度(Smoothness)、
光泽度(Glossiness)或微表面(Micro-surface),具体取决于使用的 PBR 工作流程。所有这些术语都描述了表面的同一方面,就是材质表面的次纹理(Sub-texel)几何细节。
这些表面不规则性是在粗糙度或光泽度图中创作的,具体取决于所使用的工作流程。基于物理的 BRDF 基于微面理论,该理论假设表面由称为微面的不同方向的小尺度平面细节表面组成。这些小平面中的每一个都根据其法线在单个方向上反射光(图07)
表面法线正好位于光方向和视线方向中间的微平面将反射可见光。然而,在微表面法线和半法线相等的情况下,并非所有微表面都会起作用,因为有些微表面会被阴影(光方向)或遮蔽(观察方向)阻挡,如图 07 所示
图 07:基于微面理论的基于物理的 BRDF 在微观水平上的表面不规则造成光的扩散。例如,模糊反射是由散射光线引起的。光线不是平行反射的,所以我们认为镜面反射(物理)是模糊的(图08)
图 08:由于散射光线造成的模糊反射
06颜色表面的可见颜色是由光源发出的波长决定的。这些波长被物体吸收并进行镜面反射和漫反射。剩下的反射波长就是我们所看到的颜色。
例如,苹果的皮肤主要反射红光。只有红色波长被散射回苹果皮外,而其他波长被吸收(图 09)
苹果还具有与光源颜色相同的明亮镜面高光,因为对于不导电的材料(电介质)——如苹果皮——镜面反射几乎与波长无关。对于这些材料,镜面反射永远不会着色。我们将在后面的部分讨论不同类型的材料(金属和电介质)
Substance PBR 着色器使用 GGX 微面分布。
图 09:红色波长反射到眼睛 07BRDF双向反射分布函数 (BRDF) 是描述表面反射特性的函数。在计算机图形学中,有不同的 BRDF 模型——其中一些在物理上是不合理的。要使 BRDF 在物理上合理,它必须是能量守恒的并且表现出互惠性。互易性指的是亥姆霍兹互易原理,该原理指出,入射和出射光线可以被视为彼此的反转,而不会影响 BRDF 的结果。
Substance 的 PBR 着色器使用的 BRDF 基于迪士尼的原则反射模型。该模型基于 GGX 微面分布。GGX 在镜面反射分布方面提供了更好的解决方案之一:高光中的峰值较短,衰减中的尾部较长,看起来更逼真(图 10)。
图 10:GGX 与 Blinn 镜面分布的对比——GGX 提供了一种更好的镜面分布解决方案
08节约能源/能量守恒节能在基于物理的渲染解决方案中起着至关重要的作用。该原理表明,表面重新发射的光总量(反射和散射回来)小于接收到的总量。换句话说,从表面反射的光永远不会比它撞击表面之前更强烈。作为艺术家,我们不必担心控制能量守恒。这是 PBR 的优点之一:能量守恒总是由着色器强制执行。这是基于物理模型的一部分,它使我们能够专注于艺术而不是物理。
09菲尼尔效应作为 BRDF 的系数,菲涅耳反射系数在基于物理的着色中也起着至关重要的作用。法国物理学家奥古斯丁-让·菲涅尔观察到的菲涅耳效应指出,从表面反射的光量取决于感知它的视角。想想一池水。如果你垂直于水面垂直向下看,你可以看到底部。以这种方式观察水面将是零度或法线入射,法线是表面法线。如果你以掠入射的角度看水池,更平行于水面,你会看到水面上的镜面反射变得更加强烈,你可能根本看不到水面以下.
菲涅尔不是我们在 PBR 中控制的东西,就像我们在传统着色中所做的那样。同样,这是由 PBR 着色器处理的物理的另一个方面。当以掠入射观察表面时,所有平滑的表面都将成为近 100% 的 90 度入射角的反射器。
对于粗糙的表面,反射将变得越来越镜面,但不会接近 100% 镜面反射。这里最重要的因素是每个微平面的法线与光线之间的角度,而不是“宏表面”的法线与光线之间的角度。因为光线分散在不同的方向,所以反射显得更柔和或更暗。在宏观层面上发生的事情与您在集体微平面上观察到的所有菲涅耳效应的平均值有些相似。
10FO(0度处的菲尼耳反射率)当光线笔直或垂直(以 0 度角)撞击表面时,该光线的一部分会被反射为镜面反射。使用表面的折射率 (IOR),您可以推导出反射量。这称为 F0(菲涅耳零)(图 11)折射到表面的光量称为 1–F0
图 11:对于光滑的电介质表面,F0 将在掠射角反射 2-5% 的光和 100% 的光 大多数常见电介质的 F0 范围为 0.02-0.05(线性值)。对于导体,F0 范围为 0.5-1.0。因此,表面的反射率由折射率决定,如下面的等式所示 (Lagarde 2011)。
我们在创作纹理时关注的是 F0 反射率值。非金属(电介质/绝缘体)将具有灰度值,金属(导体)将具有 RGB 值。关于 PBR 和反射率的艺术解释,我们可以说,对于普通的光滑电介质表面,F0 将反射 2% 到 5% 的光和 100% 的掠射角,如图 11 所示。
介电(非金属)反射率值实际上不会发生很大变化。事实上,当被粗糙度改变时,值的实际变化很难看到。但是,值存在差异。在图 12 中,您可以看到一个图表,其中显示了金属和非金属材料的 F0 范围。
请注意,非金属的范围不会彼此显着偏离。宝石是个例外,因为它们具有更高的价值。我们稍后将讨论 F0,因为它与导体和绝缘体有关。
11导体和绝缘体(金属和非金属)在为 PBR 创建材料时,从金属或非金属的角度考虑是有帮助的。问问自己表面是不是金属。如果是,您将需要遵循一组准则。如果不是,您将需要关注另一个。
这可能是一种简单的方法,因为某些材料可能不属于这些类别,例如类金属(金属和非金属的混合物),但在创建材料的整个过程中,区分金属和非金属是一种很好的方法,并且非金属是一个例外。要为材料设置指南,我们必须首先了解我们要尝试创建的内容。使用 PBR,我们可以查看金属(导体)和非金属(绝缘体)的属性,以得出这组指南,如图 12 所示。
图 12:金属和非金属材料的 F0 范围
折射光被吸收,金属的色调来自反射光,所以在我们的贴图中,我们没有给金属一个漫反射颜色。
12金属金属是热和电的良导体。导电金属中的电场为零,当由电场和磁场组成的入射光波撞击表面时,波被部分反射,所有折射光被吸收。抛光金属的反射率值很高,大约为 70-100%(图 13)。
图 13:金属的反射率值约为 70-100% 镜面反射 一些金属吸收不同波长的光。例如,金吸收可见光谱高频端的蓝光,因此呈现黄色。然而,由于折射光被吸收,金属的色调来自反射光。因此,在我们的贴图中,我们不会为金属提供漫反射颜色。例如,在镜面反射/光泽度工作流程中,原始金属在漫反射贴图中设置为黑色,而反射率值在镜面反射贴图中是着色颜色值。对于金属,反射率值为 RGB 并且可以着色。由于我们在基于物理的模型中工作,因此我们需要在地图中使用真实世界的金属反射测量值。
金属在纹理方面的另一个重要方面是它们的腐蚀倾向。这意味着风化元素可以在金属的反射状态中发挥很大的作用。如果金属生锈,这会改变金属的反射状态。然后将腐蚀区域视为介电材料,在金属贴图中用黑色值表示,如图 14 所示。正如我们将在第 2 部分中讨论的那样,金属/粗糙度工作流程中的着色器将介电的 F0 值硬编码为 4 % 反光的。图 14 将基色图中的锈蚀区域显示为漫反射颜色,硬编码 F0 值为 4%。
此外,涂漆金属被视为电介质而不是金属。油漆充当原始金属顶部的一层。只有从剥落的油漆中暴露出来的原始金属才被视为金属。金属上的污垢或任何遮挡原始金属的物质也是如此。
如本章开头所述,在创建 PBR 材料时询问材料是否为金属会很有帮助。更准确地说,该问题还应包括有关金属状态的信息:它是否被涂漆、生锈或被其他物质(如污垢或油脂)覆盖。如果材料不是原始金属,则该材料将被视为电介质。根据风化作用,金属和非金属之间可能会有一些混合,因为风化元素在金属的反射状态中起作用。
图 14:腐蚀区域被视为 F0 值为 4% 反射的电介质
13非金属非金属(绝缘体/电介质)是电的不良导体。折射光被散射和/或吸收(通常从表面重新出现),因此它们反射的光量比金属少得多,并且会具有反照率颜色。
我们之前说过,普通电介质的值约为 2-5%,基于通过折射率计算的 F0。这些值包含在 0.017-0.067 (40-75 sRGB) 的线性范围内,如图 14 所示。除了一些非金属材料(如宝石)外,大多数电介质的 F0 值不会超过 4%。
与金属一样,我们需要使用真实世界的测量值,但很难找到其他不透明材料的折射率 (IOR)。但是,最常见的介电材料之间的值不会发生剧烈变化,因此我们可以使用一些反射值指南。我们将在本指南的后面介绍它们。
基于 IOR 计算的 F0,普通电介质的值约为 2-5%。您可以在图 15 中看到此范围。
图 15:从 sRGB 到线性的转换是使用 gamma 2.2 近似完成的—更多细节请参见线性空间渲染部分(重要)
14线性空间渲染线性空间渲染是一个非常复杂的主题。在本指南中,我们将采用一种简单的方法来说明线性空间渲染为光照计算提供了正确的数学方法。它创造了一个环境,允许以可信的现实世界方式表示光交互。对于线性空间渲染的讨论,我们必须引入伽马校正的概念。当编码图像用于显示和存储目的时,伽马校正是减少带宽和比特分配的优化过程。这个过程利用了人眼对亮度的感知,它大致遵循亮度的立方根。
人类视觉系统 (HVS) 对较暗色调而不是较亮色调的相对差异更敏感。因此,不使用伽马校正是一种浪费,因为太多位将分配给 HVS 无法区分色调的色调区域。
在典型的数字图像创建过程中,图像使用编码伽马函数(例如 sRGB OETF 或伽马 1 / 2.2[1])进行编码,以在显示设备上呈现。然后,显示设备电路使用它自己的解码伽马函数 EOTF[2] 对图像进行解码;计算机显示器的伽马设置通常为 2.2。
线性颜色空间本质上没有伽马校正。这等效于 1.0 的有效伽玛值,可产生正确的线性计算。然而,为了将渲染图像正确呈现给观看者,需要将其编码到伽马空间[3]。
颜色值的计算和颜色操作是在线性空间中进行的。该过程将伽马编码值解码为来自我们的颜色映射的线性值,以及通过颜色选择器在监视器上查看时选择的颜色。在颜色管理工作流程中,此过程通常涉及标记纹理贴图以将其解释为线性或使用 sRGB OETF 或 gamma 1 / 2.2 编码。然后在线性空间中进行计算,最终渲染结果使用 sRGB OETF 或 gamma 1 / 2.2 进行伽马编码
考虑哪些贴图需要解码的一种简单方法是,如果从 Substance Painter 或 Substance Designer 导出的贴图表示您看到的颜色(漫反射颜色)——例如金属的色调或草的绿色——那么它应该被标记为伽马编码,以便着色器正确解释贴图。在 PBR 工作流程中标记为伽马编码的贴图是Base Color基色、漫反射Diffuse、Specular镜面反射和(Emissive)自发光。
如果贴图表示数据,例如表面的粗糙度(粗糙度贴图),或者材料是金属(金属贴图),则应将其标记为线性。在 PBR 工作流程中被标记为线性Linear贴图是粗糙度Roughness、环境光遮蔽Ambient Occlusion(AO)、法线Normal、金属Metallic和高度Height。
在 Substance Designer 和 Substance Painter 中,着色器输入上的线性空间和伽马空间之间的转换是自动处理的。渲染视口中计算结果的伽马校正也是如此。作为美术师,我们通常不需要担心 Substance 软件中的线性计算和转换,因为该软件会默认处理这些问题。
通过 Substance 集成插件使用 Substance 材质时,输出会通过集成和主机应用程序的颜色管理自动标记为线性/伽马空间。然而,理解这个过程很重要:当 Substance 贴图用作导出的位图而不是 Substance 材质时,您可能需要根据您使用的渲染器手动将纹理标记为伽马编码或线性。通常 .png、.jpg、.tga 或 .tif 文件是伽马编码的,而 sRGB OETF 和 .exr 文件是线性的。
Substance Painter 和 Substance Designer* 中使用了从伽马空间转换为线性空间的 sRGB 解码函数 (EOTF),由 IEC 61966-2-1:1999 标准定义如下:
*在撰写本文时,出于优化原因,Substance Designer 中的线性到 rgb 和 rgb 到线性节点未使用此公式。这可能会在未来的版本中改变。
为简单起见,对于本指南中的所有转换,我们使用了以下简化(但近似)的转换函数:
15PBR的主要特征现在我们已经探索了物理学背后的基本理论,我们可以推导出 PBR 的一些关键特征:
1、节能。反射光线永远不会比它第一次撞击表面时的值更亮。能量守恒由着色器处理。
2. 菲涅尔。BRDF由着色器处理。对于大多数常见的电介质,F0 反射率值的变化很小,
在 2-5% 的范围内。金属的 F0 值很高,范围为 70-100%。
3. 镜面反射强度通过 BRDF、粗糙度或光泽度贴图和 F0 反射率值来控制。
4. 光照计算是在线性空间中计算的。所有具有伽马编码值(例如基色或漫反射)的贴图通常由着色器转换为线性,但您可能必须在将图像导入游戏引擎或渲染器时通过检查适当的选项来确保正确处理转换. 描述表面属性(例如粗糙度、光泽度、金属和高度)的贴图应设置为解释为线性。
*特别感谢Thomas Mansencal对线性空间渲染部分的审查和提供反馈。
1.伽马编码函数的技术名称是光电传递函数(OETF)。
2. 伽马解码函数的技术名称是电光传输函数(EOTF)。
3.消除sRGB OETF与sRGB颜色空间的歧义是非常重要的;OETF只是构成RGB色彩空间的三个组件之一:
原色坐标定义了可以由给定的RGB颜色空间编码的色域(颜色的三角形)。
白点定义了给定RGB颜色空间的白色。
传递函数执行线性光分量(三刺激值)和非线性RGB视频信号(大多数时间用于编码优化和带宽性能)之间的映射。
本文为转载文章:Allegorithmic的文档《THE PBR GUIDE - PART 1》
转载地址:https://substance3d.adobe.com/tu ... he-pbr-guide-part-1
|