当前位置: 学哟C4D网 >C4D教程 >PBR 渲染技术浅谈

PBR 渲染技术浅谈

PBR 渲染技术浅谈

一、什么是PBR ?

PBR 是英文缩写,其全称为:Physically Based Rendering,中文含义:基于物理纹理的渲染,是基于物理规律模拟的渲染技术总称。最早应用于电影行业照片级的渲染,近几年随着硬件性能不断提高,也已大量运用于PC游戏与主机游戏的实时渲染中了。几款著名3D游戏引擎均已有各自实现方法,比如:UnrealEngine,Unity3D 等。

基于物理的渲染(PBR)是一种着色和渲染的方式,能更精准的体现光线和介质表面的交互方式。因此称作基于物理的渲染(PBR)或者基于物理的着色(PBS)。从正在讨论的工作流程角度而言,PBS 通常针对着色概念,PBR针对渲染和光线的概念。但是,PBS 和PBR 都是从物理上精确的角度描述呈现物体的过程。

基于物理纹理的渲染(PBR)是一种方法而不是硬标准,有具体的基本准则和使用指南,但没有真正具体的规则。也就是PBR的使用方法多种多样,使用的贴图类型和工作流程也不一样。
二、PBR 的优势

美术师会从艺术和创作效率两方面考量PBR 的优势:

1、PBR 消除了创作表面特性的猜测,例如高光反射,因为其研究方法和计算方法都是精确的物理公式,因此,创作的物体也更具有真实感;

2、物体在各种光源下都很逼真;

3、PBR 工作流程具有一致性,即使不同的美术创作同一物体也可以很好的接续工作。
三、PBR 对于美术师的意义

美术师需要对描述表面特性的贴图进行不同角度的思考,随着电脑软件和渲染技术的进步,现在我们可以更精准地模仿光的物理特点。

以往渲染工作流程创作的贴图只是模仿光与材质交互的变通方案,现在我们需要更新漫反射和高光反射贴图的理念。

PBR 的着色器是通过能量守恒和BRDF 处理物理规则中棘手的问题,而作为美术师我们创作的贴图是按照物理基本原则创作的。正是因为PBR 的这一科学特性,我们不需要猜测材质导向性,而是专心创作纹理。固然,按照原则创作贴图很重要,但这并不意味着我们不需要考虑艺术直觉。正是这样的艺术表现形式,精心制作每一个细节,用心表达,才使一个个角色通过各种材质展现出来。但是这一过程的物理特点永远不是美术主要考虑的范围。我们在更加先进的物理环境工作并不意味着我们不能创作具有特色的艺术。例如,迪士尼的基于物理的反射率模型的制作采用原则性方法。即,该模型的创作与其说是严格的物理模型,不如说其更加遵照了艺术方向。了解原则是重要的,但是使用原则应胜于为原则所用。
四、PBR 基于物理渲染和着色的理论

1、了解“光”

光是一个复杂的现象,它可以表现为光波和粒子特性,因此,我们创建各种模型可以描述出它的表现形式。通过光线模型可以描述出光线与物质的相互作用。了解光线如何与物质表面相互作用非常重要,我们要了解更多的光效表现形式,能让纹理和材质看起来更好。

2、反射与折射

光线模型表明,光线在均匀的透明介质中具有直线的轨迹(如空气)。光线模型也表明光线在遇到不透明物体等表面,或者穿过不同的介质如从空气到水里的时候将会以可预测的方式表现出来。

这实现了光线从开始的一点移动到另一点的路径可见性。光线射到介质表面被称为入射光线,与此同时形成的角度被称为入射角。
光线入射到两个介质间的平面界面上。当光线照射介质表面的时候,可能会发生以下一种或两种情况:

1)光在传播到不同物质时,在分界面上改变传播方向又返回原来物质中,这种现象叫光的反射。它遵循反射定律,反射角等于入射角(反射光线)。2)光从一种透明介质斜射入另一种透明介质时,传播方向一般会发生变化,这种现象叫光的折射。折射光进入到另一种介质中,由于光在两种不同介质里传播速度不同,故在两种介质的交界处开始传播方向发生变化(折射光线)。

光线的运行分为两个方向:反射和折射。在介质表面,光线不是反射就是折射,它可以最终被任何介质吸收。但是,在材质表面不会发生光线被吸收这种事情。

3、吸收和散射(透明度和半透明度)

在光学领域,透明度是允许光通过材料而不分散的物理性质。在宏观尺度(其中所研究的尺寸大小比所讨论的光子的波长大得多),光子遵循斯奈尔定律。半透明度是透明度的超集:它允许光线通过,但不一定符合斯奈尔定律;光子可以分散在两个接口中的任何一个。换句话说,半透明介质允许光的传输,而透明介质不仅允许光的传输,而且允许图像形成。透明度相反的特性是不透明度。

当碰上不均匀的材质或半透明材质时,光线可以被吸收或者散射:

当光线被吸收时,光线强度会减弱随着它变成另外一种能量的形式 - 通常是热量。它颜色的变化取决于波长上吸收的光量,但是光线的方向不发生变化。

当光线散射,光线的方向会随机变化,偏差量取决于材质。随机散射光线的方向,不会改变其强度。耳朵就是表明这种现象一个很好的例子。耳朵很薄(吸收很少),所以你可以看到光线从耳朵背面散射出来的光线。
如果光线没有散射并且吸收很少,那么光线可以直接穿过介质表面。玻璃就像这种情况。例如,可以想象你在一个干净的泳池中游泳,睁开眼睛,透过清澈的水你可以看到很远的距离。然而,如果在相同的泳池中相对水是污垢的,污垢颗粒会散射光线并降低水的清澈度,这样你将会看到被缩短的视觉距离。

介质的厚度在光线吸收或者散射过程中起着很重要的作用。可以使用厚度贴图来描述着色器里物体的厚度。

4、漫反射和高光反射

高光反射指的是在介质表面反射的光线,在光线部分讨论过。反射光线离开介质表面以不同的方向运行。它遵循反射定律,该定律表明在规则的表面上,反射角等于入射角。然后,大多表面是不规则的,反射光线的方向会根据介质表面的粗糙度而随机变化。虽然改变了光线的方向,但是光线的强度保持不变。

比较粗糙的介质表面会有较大的亮点,并且看起来比较暗。比较光滑的介质表面将会保持聚焦的高光反射,从适当的角度观察的时候,光线看起来会更亮更强烈,两种情况下的光线量是相同的。
折射是光线方向变化的一种,当光线从一种介质移动到另一种的时候,这样改变了光线的速度和方向。折射率或者IOR ,这种光学测量描述了光线行进方向的变化。实质上,IOR 值用来确定光线会弯曲多少,当光线从一个介质穿过到另一个的时候。例如,水的IOR 值是1.33,其中平板玻璃的IOR 值是1.52,在下图中可以看到一杯水中放置吸管的状态。当光线穿过不同的介质(空气,水和玻璃)时,吸管会因为折射看起来是弯曲的。
漫反射是折射的光线。光线从一个介质到另一个介质;作为例子,我们假定它进入一个物体。光线在这个物体中被发生多次散射。最后再次折射离开物体,回到最初进入介质的位置。

漫反射材质是可吸收的。如果折射光线在这种材质中运行太久,它可能会被完全吸收。如果光线离开了这个材质,它很可能只走了离入口点很短的距离。

因此,光线的输入点和输出点之间的距离可以忽略不计。Lambertian 模型用于传统阴影的漫反射,不考虑表面的粗糙度。一些其他漫反射模型,就像Oren-Nayar 模型,是需要考虑介质表面粗糙度的。

同时具有高散射和低吸收的材质有时被称为参与介质或者半透明材质。例如烟雾,牛奶,皮肤,玉石和大理石。对于后三种情况的渲染可能通过额外的子集散射建模来实现,此时光线的输入点和输出点之间的差异不再忽略不计。精确渲染的介质具有高度变化和非常低的散射和吸收性能,就像烟雾,可能就需要费用高点的方法,就像蒙特卡洛模拟。

5、微面元理论

理论上,漫反射和高光反射都取决于光线与介质相交处的表面的不规则性。然而,实际上由于材质内部发生散射,粗糙度对漫反射的影响不太明显。结果是光线输出点的方向与介质表面的粗糙度和入射光线的方向是无关的。最常见的漫反射类型(Lambertian )完全忽略了粗糙度。

这些表面不规则称为表面粗糙度。表面不规则也有几个其他的名称,包括粗糙度,平滑度,光泽度或者微表面,随PBR 工作流程中的使用而定。所有的这些术语都描述了介质表面的相同方面,这是子集Texel 的几何细节。

这些介质表面的不规则会在正在使用的粗糙度或者光泽度贴图中的工作流程中创建。基于物理的BRDF 是建立在微面元理论上的,该理论假设介质表面由被称为微面的一些不同方向的小尺寸平面细节的表面构成。每一种小平面上的反射光线会基于它的法线在单一方向上。

微观表面法线恰好在光线方向和视线方向中间将反射出可见光线。但是,如果微面法线和半法线相等,并不是所有的微表面都是如此,像一些阴影部分(光线方向)或者遮蔽部分(视线方向)不会这样。

6、颜色

介质表面可见的颜色是由光源发出的波长引起的,这些波长被物体吸收并且发生反射,高光发射以及漫反射。剩下的反射波长就是我们看到的颜色。

例如,苹果的表面主要反射红色光线。只有红色的波长散射回苹果表面,而其他部分则被吸收。

苹果也有明亮的高光和光源的颜色一样,因为材质不导电(电介质) - 像苹果的表面 - 高光反射几乎与波长无关。对于这些材质,高光反射从不着色。我们将在后面的章节讨论不同类型的材质(金属和电介质)。

7、BRDF

双向反射分布函数(BRDF)是描述介质表面反射特性的函数。在计算机图形学中,有不同的BRDF 模型 - 其中一些模型并不符合物理理论,对于一个符合物理理论的BRDF ,它必须是能量守恒互惠的。互惠指的是亥姆霍茨互惠原则,它表明入射光线和反射光线可以被认为是互相颠倒的并不影响BRDF 的结果。

Substance的PBR 着色器使用的BRDF 基于Diseny 的原则反射模型。该模型基于GGX 微面分布。GGX 在高光反射方面提供了较好的解决方案之一:在高亮显示的峰值和较长尾段,这样看起来更真实。

8、能量守恒

能量守恒在基于物理的渲染方案中起着很重要的作用,这个原则说明在介质表面(反射和散射回来的)重新发射出的光线总光量小于接收到的光线总量。换句话说,就是介质表面反射的光线不会比它撞击介质表面前的光线更加强烈,从艺术角度来讲,我们不必担心保持能量守恒。这是PBR 材质的优势之一:能量守恒总是由着色器强制控制。这是基于物理模型的一部分,并且它使我们能更专注于艺术而不是物理。

9、菲涅尔效应

菲涅尔反射因子在基于物理的阴影中作为BRDF 的系数也起着很重要的作用。 菲涅尔效应,是由法国物理学家Augustin-Jean Fresnel 所观察到的。该效应指出,从介质表面反射的光量取决于观察的角度。想象一个水池。如果直视,视线垂直于水面,你可以看到池底。用这种方式观察水面此处观察角度处于零度或者法线入射处,该处的法线即介质表面的法线。如果你以掠入角度观察水面,更加平行于水面,你将看到水面上的高光反射更加强烈,并且根本看不到水面下面。

菲涅尔效应不像我们在传统阴影中控制的PBR 。这是由PBR 着色器处理的另一个物理方面。当以一个掠入射线观察介质表面的时候,所有平滑的表面将以90度入射角成为近似100%的反射面。

对于粗糙表面,反射率变得越来越高,但不会接近于100%的高光反射。这里最重要的因素是每个微面法线和光线之间的角度。而不是微面法线和光线之间的角度。因为光线在不同的方向会消失,反射光线看起来更加柔和或者更加暗淡。在微面发生的事情与在所有微面观察到的菲涅尔效应的平均值有些相似。

10、F0 (0度的菲涅尔反射率)

当光线直接或者垂直(以0度角)照射介质表面的时候,该光线百分百折射为高光反射。使用介质表面的折射率(IOR),可以导出折射的光线量,这被称为F0(菲涅尔零点)。折射到介质表面的光线量被称为1-F0。
大多数常用的电介质的F0 范围从0.02-0.05(线性值)。对于导体,F0 值范围为0.5-1.0。因此表面的反射率由折射率决定,正如下面的方程式所示(Lagarde 2011)。

F0 反射率值是我们在创建纹理时所关心的。非金属(电介质/绝缘体)具有灰度值,金属(导体)具有RGB 值。关于PBR 和反射的艺术角度解释,我们可以认为对于一个平滑的电介质表面,F0 值将会反射出光线的2%~5%,掠射角度是100%。

电介质(非金属)的反射率值实际上不会强烈的变化。事实上,当粗糙度被改变的时候,被改变的反射率值是很难看出来的,只是在值上有差异。

留意非金属的F0 值的范围不会相互偏离,宝石是一个例外因为它们有很高F0 值,稍后再讨论F0 值,因为它涉及到导体和绝缘体。

11、导体和绝缘体(金属和非金属)

当创建PBR 材质的时候,从金属和非金属的角度来考虑是有帮助的。先判定介质表面是金属还是非金属。如果是金属,你将需要遵循一套指导原则,如果是非金属,你将需要遵循另外一个。

这可能是一种简单的方法,因为有些材质不属于这些类别,就像准金属(金属和非金属的混合物),但是在创建材质的整个过程中,区分金属和非金属是一种好方法,但是准金属是个例外。为了制定材质指导原则,我们必须首先明白我们尝试努力创建什么,就PBR 而言,我们可以查看金属(导体)和非金属(绝缘体)的属性,以推导出这套指导原则。

反射光线被吸收,金属的色彩来自于光线的反射光线,所以在我们的贴图中,我们不需要给金属调一个漫反射颜色。

12、金属

金属是热量和电力的良好导体,金属导体的电场为零,当电场和磁场产生的入射光波到达介质表面时,光波就会发生部分反射,所有的反射光线就会被吸收。抛光金属的反射率值处于很高的范围约70%~100%。

一些金属吸收不同波长的光线。例如,金子吸收可见光谱的高频端蓝光,因此它显示为黄色。但是,由于折射光线被吸收,所以金属的色彩来自反射光线。在贴图中,我们不给金属调漫反射颜色。例如,在高光反射/光泽度工作流程中。粗金属在漫反射贴图中设置为黑色,反射率值在高光贴图中是色彩值。使用金属时,反射率值将是有色彩的RGB 。由于我们在基于物理的模型中工作,我们需要使用现实世界的实际测量值来计算贴图中的金属反射率。

金属纹理化的另一个重要方面是倾向于锈蚀化。这就意味着风化元素在金属反射状态中起着很重要的作用。如果金属生锈,这将改变这种金属状态的反射率。 锈蚀化的区域在金属贴图中以黑色值作为电介质材质。

此外,涂漆金属被视为电介质而不是金属。油漆作为粗金属最顶部的图层。只有从剥落油漆中暴露的粗金属视为金属。金属上的污垢或者任何能遮蔽粗金属的物质都是如此。

正如此章节的开头所述,在创建PBR 材质的时候判断一下该材质是否为金属是有帮助的。更确切的说,这个问题还应该包括金属状态的信息:无论它是否被涂漆,生锈或者覆盖了其他物质像污垢或者油脂。该材质如果不是粗金属将会被视为电介质。由于风化,可能会在金属和非金属之间进行混合,因为风化元素在金属的反射状态中起一定作用。

13、非金属

非金属(绝缘体/电介质)是不良电介质导体。折射光线被散射或者吸收(通常在介质表面重新出现),所以它们反射比金属少的光线量并具有白光。

我们之前说过,通常电介质的值约2-5%,这是基于折射率计算出的F0 值。这些值包含在0.017-03067(40-75 sRGB )的线性范围内。除了一些非金属材质像宝石外,绝大多数电介质不会有超过4%的F0 值。

与金属一样,我们需要使用现实世界的实际测量值,但是对于其他不透明材质的折射率值(IOR )可能很难找到。然而,大多数常用电介质之间的值没有太大的变化,所以我们可以使用一些反射值作为指导原则。这将在该指南的稍后部分介绍它们。

基于IOR 计算的F0 值,常用电介质的值约为2-5%。

14、线性空间渲染

线性空间渲染是一个非常复杂的主题。我们将采用简单的方法说明线性空间渲染为光线提供了正确的算法。它创建了一个环境允许光线互动并在可靠的现实世界中表现出来,在线性空间,Gama 1.0并且在该空间中进行线性计算,为了使渲染的图像看起来是正确的,我们需要调整线性Gama 值。

我们的眼睛非线性的感知光线值的变化,这将意味着它们的Gama 值大于1.0。人类的眼睛对较暗的色调比较明亮的色调更敏感。计算机显示器利用这种灵敏度来显示图像,所以我们可以正确的感知它们,这就是说,我们使用非线性Gama 或者Gama 编码空间在显示器上查看颜色(sRGB )。

颜色值和颜色操作的计算应该在线性空间内执行。该过程将Gama 编码值转换为色彩贴图中的线性编码值,并且通过颜色选择器在显示器上观看时选择颜色。在色彩管理工作流程中,该过程通常包括标记要阐释为线性或者sRGB 的纹理贴图。然后在线性空间(Gama 1.0)进行计算,并且在Gama编码空间中查看最终的渲染结果。

一个更简单的方法来考虑这一点,如果贴图代表着你看到的颜色(漫反射颜色),例如金属的颜色或者青草的绿色,它应该被阐释为sRGB 。如贴图代表数据,就像表面有多粗糙,或者材质是金属,然后应该将其阐释为线性。

五、PBR 的主要特征

1、能量守恒。反射光线不会比它第一次敲击介质表面时的光线亮。能量守恒由着色器控制。

2、菲涅尔效应。BRDF 由着色器控制。F0 反射率值对于大多数常见的电介质而言有轻微的变化,并且在2-5%的范围内。金属的F0 值很高,范围在70-100%。

3、高光反射强度通过BRDF ,粗糙度或者光泽度贴图和F0 反射率值来控制。

4、在线性空间的光线计算。所有的具有Gama 编码值的贴图,例如基础颜色贴图或者漫反射贴图通常由着色器转换为线性,但是你也必须通过游戏引擎或者渲染器中导入图像时检查相应的选项以确保正确的处理转换过程。描述 贴图表面的属性如粗糙度,光泽度,金属性和高度应该设置为线性。