光与物质:基于物理的渲染和着色理论(一)

2021-12-18   3,695 次阅读


翻译Substance3D官方文档

基于物理的渲染和着色理论

光是一种具有波粒二象性的复杂现象,正因如此,出现了很多种模型用来描述光的这种行为。

作为材质纹理美术,我们对于光线模型感兴趣的原因在于它能够描述光与物质之间的交互现象。学会理解光线与物质表面的交互现象非常重要,因为我们需要创建正确了纹理来描述物质表面。我们创作的纹理和材质将会在虚拟世界中与光做交互。我们对光的行为了解的越透彻就越利于我们做出真实的材质纹理。

在这个教程中,我们将探讨基于物理的渲染(PBR)背后的物理理论,我们将从测试光线的行为开始,慢慢总结出基于物理渲染(PBR)的关键特征。

光线

光线模型表明光在同种均匀透明介质中是沿直线传播,比如空气中。同样光线模型表明光在遇到不透明物体表面或者在不同介质中穿行时(比如从空气中进入到水中)的行为都是可预测的。

这样使得光从出发点到它能量发生转化时的点(比如转化为热能)的轨迹能够被可视化。

光线进入物体表面的那部分被称为入射光线(Incident Ray),入射光线与表面法线的夹角成为入射角(Angle of Incidence),如图一所示:


图一:入射角、入射光线和反射光线

当光线入射到两种介质之间的平面交界面上,当光接触到这个表面时,至少会发生下列情形之一:

  1. 光线将会在表面处反射并沿着不同的方向继续传播。这个过程遵循反射角等于入射角的反射定律(反射光线)。
  2. 光线将会沿着直线轨道从一个介质进入另一个介质(折射光线)。

此时,光线将分别进入两个方向:反射方向和折射方向。在材质表面,光线除了被反射和折射,它最终可以被任何一种介质吸收。但是,吸收不会发生在材料表面。

吸收和散射(透明和半透明)

当在不均匀介质或者半透明材质中传播的时候,光就会发生吸收和散射:

当光被吸收时,光的强度就会发生减弱,因为它将被转化为另一种形式的能量——通常是热能。它的颜色将会发生改变,因为光吸收量取决于光的波长,但是光的方向并不会发生改变。

当光发生散射的时候,光的方向会随机改变,方向改变的偏移量将由材质决定。散射将会随机改变光的方向,但不会改变它的强度。光照到耳朵的视觉效果是这一现象的非常好的例证。耳朵通常比较薄(光的吸收较弱),这样你可以清楚的看到照在耳朵背面的光被散射出来,如图二所示:


图二:光从耳朵背面照射发生的散射现象

如果此时没有散射且光线的吸收度非常低,光线将直接穿过表面。此时这种现象就如同光穿过玻璃材质。举个例子,想象一下你在一个非常干净的水池中游泳,如果你能睁开你的眼睛,你将会看到水下很远的一段距离外的景象,如果同样的水池中的水质相对较脏,污渍颗粒将会使光线发生散射并且降低水的干净程度,此时你的视野将会被削弱。

当光线在材质或介质中传播的距离越远,光被吸收或者散射掉的部分就会越多。因此,物体的厚度将很大程度的决定光被吸收掉或者散射掉的程度。一张厚度贴图将被用于描述物体的厚度,如下图三所示:


图三:在Substance Painter中厚度贴图被用于描述此表面散射

漫反射和高光反射

正如我们在光线反射那一节提到的,高光反射指的是光线在接触表面时发生的反射现象。光线被表面反射后沿着不同的方向继续传播。它遵循反射定律,如果光线在一个理想平面下发生反射现象,那么光的反射角将等于入射角。然而绝大多数表面是不平整的,所以反射方向将根据表面的粗糙程度进行随机变化。这将改变光的方向,但是光的强度并不会发生改变。

越粗糙的表面,高光的区域范围就将越大,而且看起来更暗。越光滑的表面,高光反射的区域将会越集中,在适当的角度上观察将会发现高光范围将会越明亮且越强烈。当然,两种情况下,被反射的光线总量是相同的。(如图四)


图四:反射方向的随机程度将取决于物体表面粗糙度

折射将会改变光的整体传播方向。当光线从一种介质进入到另一种介质,它的速度和方向将会发生改变。

折射率( index of refractionIOR)是描述光线传播方向变化的一种光学测量方式。基本上折射率(IOR)的值将被用于确定光线通过一种介质到另一种介质时的弯曲程度。举个例子,水的折射率(IOR)是1.33,而平板玻璃的折射率(IOR)为1.52,在图五中你将会看到一支吸管在水和玻璃中的渲染画面,因为光在不同介质(空气,水和玻璃)中的折射现象吸管发生了偏折。


图五:吸管因为折射发生了偏折

漫反射是光发生了折射,光从一种介质进入到另一种介质。作为我们的示例,我们假设它进入一个对象。然后光在该对象内散射多次。它最终再次折射出对象本身,让它在当初进入物体的大概位置周围再次回到了之前的介质中(如图六所示)。


图六:光从一个介质进入到另一个介质并在其内部发生散射

漫反射材料具有吸收性,如果一个发生了折射的光在这个材质中传递了过长距离,它有可能被完全吸收。如果光逃逸出这个材质,那么它逃逸的位置很可能看起来距它进入位置的表面距离并不远。

因此,入口点和出口点之间的距离可以忽略不计,在传统的着色情形中,用于漫反射的兰伯特模型并不考虑材质表面的粗糙度。然而,其他漫反射模型,如Oren-Nayar模型,确实考虑了这种粗糙度。

同时具有高散射和低吸收的材料有时被称为参与介质(Participating Media)或半透明材料。例如烟、牛奶、皮肤、玉和大理石。对于上述后三者材质来说,光线的入射点和出射点之间的差异不再被视为可忽略,这种情况下,可通过附加的次表面散射建模来完成渲染。精确渲染具有高度变化和非常低散射及吸收性的介质(如烟或雾),可能需要更昂贵的方法,如蒙特卡罗(Monte Carlo)模拟。

微表面理论

理论上,漫反射和镜面反射都取决于光线与介质相交处的表面不规则性。然而在实践中,粗糙度对漫反射的影响不太明显,因为散射发生在材料内部。因此,光线的逃逸方向基本上独立于表面粗糙度以及光线的入射方向。大多数通用漫反射模型(比如兰伯特)完全无视了粗糙度这个概念。

在本指南中,我们将这些表面不规则性称为表面粗糙度,表面的不规则性还有几种不同的叫法,包括粗糙度,光滑度,光泽度或微表面,这取决于所采用的PBR工作流。所有这些术语都描述了曲面的相同方面,即次纹素(Sub-texel)几何细节。

这些表面不规则性是在粗糙度或光泽度贴图中生成的,具体取决于所使用的工作流。一个基于物理的BRDF基于的使微表面理论,它假设一个表面是由很多非常微小的细节平面组成的,这些表面的方向不同,称为微表面。这些微小的平面将光线基于其表面法线按照单一方向进行反射(如图七所示)。


图七:基于微表面理论的物理BRDF模型

表面法线正好位于光方向和视图方向中间的微表面将反射可见光。然而,在微表面法线和半法线相等的情况下,并不是所有的微表面都会起作用,因为有些微表面会被阴影(光线方向)或遮罩(视线方向)遮挡,正如图七所示。

微观层面上的表面不规则会导致光扩散。例如,反射景象变得模糊是由于光线发生了散射引起的。反射光线之间并不是相互平行的,因此我们认为镜面反射大多是模糊的(如图八所示)。


图八:模糊的反射景象是因为光线发生了散射

未完待续

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议