【pbr是什么】物理渲染的核心原理、应用场景与材质纹理详解

在现代的计算机图形学领域,无论是电子游戏、电影特效、工业设计可视化还是建筑表现,一个核心目标都是尽可能真实地模拟光线与物体表面的互动。实现这一目标的关键技术之一就是 PBR。

是什么:PBR的本质是什么?

PBR,全称 Physically Based Rendering,直译为“物理渲染”。它不仅仅是一种渲染技术,更是一种基于物理规律的渲染理念或方法论。它的核心在于模拟真实世界中光线与物质的交互方式。

不同于早期依赖于艺术家主观经验(例如简单地调整高光强度和颜色)来模拟材质外观的传统渲染方法,PBR试图通过遵循物理世界的规则,使用能够量化和测量(或至少近似)的物理属性来定义材质。这意味着,使用 PBR 工作流程创建的材质,在不同的光照环境下都能呈现出更可信、更一致的效果,因为它们模拟的是光线的实际反射、吸收和散射行为。

PBR着重模拟几个关键的物理现象:

  • 能量守恒(Energy Conservation): 这是PBR最核心的原则之一。简单来说,当光线照射到物体表面时,一部分光会被反射(Specular),一部分会被散射或吸收(Diffuse),还有一部分可能穿透表面。反射、散射和吸收的能量总和不能超过入射光的能量。一个表面反射的光越多,散射的光就越少,反之亦然。PBR材质系统会严格遵守这一原则,避免了传统方法中可能出现的“能量增多”或不真实的光照效果。
  • 菲涅尔效应(Fresnel Effect): 指的是物体的反射率会随着观察角度的不同而变化。当我们垂直看向一个表面时,它的反射率较低;而当我们以掠射角( grazing angle,几乎平行于表面)看向同一个表面时,它的反射率会显著增加。例如,站在窗前垂直看向窗户时,你主要看到窗外的景象(穿透的光),但当以非常斜的角度看时,你更多看到的是窗户反射的室内景象。PBR Shader内置了菲涅尔效应的计算,使得材质在不同视角下表现得更真实。
  • 微观表面细节(Micro-surface Detail): 即使是看起来光滑的表面,在微观尺度上也是凹凸不平的。这些微观的粗糙度会影响光线的反射方向。在光滑的表面,光线会朝着相似的方向反射,形成锐利的高光;在粗糙的表面,光线会被向许多不同的方向散射,形成柔和或模糊的高光。PBR通过一个“粗糙度”(Roughness)或“光泽度”(Glossiness)参数来量化这种微观表面的细节,从而准确模拟各种材质的高光形状和锐利度。

总而言之,PBR就是一套基于物理光学原理的渲染方法,它通过精确模拟光线与物质的互动,并使用一套符合物理规律的材质参数来描述表面属性,最终生成视觉上更真实、更稳定的图像。

为什么:为什么现代图形应用广泛采用PBR?

PBR之所以成为主流,主要在于它带来的显著优势:

  • 更高的真实感: 基于物理的计算能够更准确地模拟现实世界的光照效果,包括复杂的光线相互作用(如反射和折射的相互影响),使得渲染结果看起来更加自然和逼真。
  • 更好的鲁棒性和一致性: 使用PBR材质定义的资产,在不同的光照条件(例如明亮的户外阳光、阴暗的室内、不同颜色的光源)下都能自动呈现出符合物理规律的外观。这极大地减少了艺术家为特定场景调整材质的工作量,确保了资产在整个项目中的视觉一致性。
  • 更直观的材质创作: 虽然初学者需要理解一些物理概念,但一旦掌握,PBR材质的参数(如基础色、金属度、粗糙度)通常与现实世界中物质的属性有直接关联。这使得艺术家可以更容易地根据现实世界的参考或扫描数据来创建或调整材质。
  • 与扫描数据更好的兼容性: 许多现代材质创作流程依赖于扫描真实世界的物体表面。PBR材质系统能够直接利用这些扫描数据(通常包含反照率、法线、粗糙度等信息),无需复杂的转换即可获得高精度的数字材质。

哪里:PBR在哪里被大量使用?

PBR的应用范围几乎涵盖了所有需要生成高质量三维图像的领域:

  • 电子游戏: 现代3A大作到独立游戏普遍采用了PBR工作流程,以实现令人印象深刻的视觉效果和环境真实感。
  • 电影与动画特效(VFX & Animation): PBR是电影特效和动画制作中的标准渲染方法,用于创建逼真的角色、道具、场景和环境。皮克斯、Wētā FX等公司都在其内部渲染系统中广泛应用基于物理的着色模型。
  • 建筑可视化(Arch-Viz): 建筑师和可视化艺术家使用PBR来精确模拟不同建筑材料(混凝土、玻璃、金属、木材等)在各种自然和人造光照下的外观。
  • 产品渲染: 制造商和设计师使用PBR来创建产品的逼真渲染图,用于营销、宣传或设计评审。
  • 虚拟现实和增强现实(VR/AR): 为了提供沉浸式的体验,VR/AR应用中的3D资产也大量采用PBR,以确保虚拟世界的光影效果与现实世界保持一致。
  • 仿真与训练: 在需要高精度视觉模拟的领域,如飞行模拟、驾驶模拟或工业操作训练,PBR被用于创建高度逼真的环境和设备。

多少:一个PBR材质通常需要多少种基础纹理贴图?

创建一个典型的PBR材质通常需要多种不同的纹理贴图或参数来定义其表面属性。虽然具体数量和类型可能因工作流程和渲染器而异,但以下是几种最常见和核心的贴图:

  1. 基础色 / 反照率贴图 (Base Color / Albedo Map):

    这张贴图定义了材质的固有颜色,即它在均匀白光照射下,且没有高光反射时的颜色。对于非金属材质,它代表了光线穿透表面后被散射出来时的颜色。对于金属材质,这张贴图通常代表了金属在0度角下的镜面反射颜色。它是PBR工作流程中最重要的贴图之一,通常要求颜色处于线性空间。

  2. 金属度贴图 (Metallic Map):

    这张灰度贴图定义了材质的哪些部分是金属,哪些部分是非金属(电介质)。通常使用0到1的数值表示:0表示非金属,1表示纯金属。在金属度工作流程中,这个贴图是区分两种不同类型材质的关键。金属材质没有漫反射,其基础色贴图代表的是反射颜色;非金属材质有漫反射,其基础色贴图代表的是漫反射颜色。

  3. 粗糙度贴图 (Roughness Map):

    这张灰度贴图定义了材质表面的微观粗糙程度。数值通常在0到1之间:0表示表面极其光滑(像镜子),会产生锐利的反射高光;1表示表面极其粗糙,光线会被向四面八方散射,产生非常模糊甚至看不到明显高光的效果。它是控制高光形状和锐利度的关键贴图。

  4. 法线贴图 (Normal Map):

    法线贴图用于模拟表面细节的凹凸变化,而无需增加模型的几何复杂度。它存储了表面各个点“假想的”法线方向,通过改变这些法线方向来欺骗渲染器,使其认为表面有微小的凹凸,从而影响光照计算,产生细节的阴影和高光变化。法线贴图通常是RGB图像,R、G、B通道对应X、Y、Z方向的法线扰动。

  5. 环境光遮蔽贴图 (Ambient Occlusion Map, AO):

    这张灰度贴图代表了模型中各个部分被周围几何体遮挡的程度。被遮挡越严重的地方(如角落、缝隙),接收到的环境光越少,因此会更暗。AO贴图本身不直接影响光线反射计算,但它通常用于在渲染的最后阶段“烘焙”进环境光中,增加模型的深度感和细节层次,使物体看起来更真实地处于场景中。

  6. 自发光贴图 (Emissive Map):

    如果材质本身会发光(如灯泡、热的金属),则使用自发光贴图来定义发光的颜色和强度。这部分光线是材质自身产生的,不依赖于外部光源的照射。

  7. 高度贴图 / 置换贴图 (Height Map / Displacement Map):

    高度贴图(灰度)或置换贴图可以用来在渲染时或通过曲面细分(Tessellation)实际改变模型的几何形状,从而模拟出更真实的表面起伏,如砖块之间的缝隙、地形的凹凸等。置换贴图通常提供更精细的控制。这与法线贴图模拟凹凸的方式不同,它是真正改变了模型的几何体。

    除了这些核心贴图,根据材质的特性和渲染器的功能,还可能需要其他贴图,例如透明度贴图 (Opacity Map)、次表面散射贴图 (Subsurface Scattering Map, 用于模拟皮肤、蜡等半透明材质光线穿透效果) 等。但在最常见的PBR工作流程中,前六种贴图(基础色、金属度、粗糙度、法线、AO、自发光)是最常见的组合。

    如何 & 怎么:如何或如何创建PBR材质与纹理?

    创建PBR材质是一个结合了艺术与技术的流程,其核心是生成前面提到的那一套符合物理规律的纹理贴图。以下是几种主要的创建方式和通用的流程:

    如何理解PBR工作流程(Metallic/Roughness vs. Specular/Glossiness):

    在材质创建前,理解两种最常见的PBR工作流程很重要:

    • 金属度/粗糙度工作流程 (Metallic/Roughness Workflow):

      这是目前最主流的工作流程,尤其是在游戏引擎中。它使用基础色贴图(Base Color)、金属度贴图(Metallic)和粗糙度贴图(Roughness)作为核心输入。金属度贴图决定了材质是金属还是非金属。非金属材质使用基础色贴图的颜色作为漫反射颜色,高光颜色是恒定的灰白色(受菲涅尔效应影响强度)。金属材质没有漫反射,其基础色贴图代表的是反射颜色,高光颜色由基础色贴图决定(有色金属如金、铜在高角度下反射有色光)。粗糙度贴图同时影响非金属和金属材质高光的锐利度/散射程度。

    • 镜面反射/光泽度工作流程 (Specular/Glossiness Workflow):

      这种工作流程在一些传统的离线渲染器中仍然常见。它使用漫反射贴图(Diffuse)、镜面反射贴图(Specular)和光泽度贴图(Glossiness)作为核心输入。漫反射贴图定义非金属的漫反射颜色。镜面反射贴图直接定义了非金属材质的镜面反射颜色(允许艺术家指定高光的颜色,但在物理上,纯粹的非金属高光应该是无色的,除了在掠射角下)。金属材质的漫反射通常是黑色,其镜面反射贴图代表了金属的颜色。光泽度贴图是粗糙度贴图的倒数:0表示完全粗糙,1表示完全光滑。这个工作流程在物理上不如金属度/粗糙度工作流程直观,特别是在处理金属时,更容易违反能量守恒定律,但在艺术家习惯了传统高光颜色控制后可能觉得更灵活(尽管物理不准确)。

    大多数现代PBR材质创作软件和引擎都支持金属度/粗糙度工作流程,因为它更接近物理现实且更容易遵守能量守恒。

    如何创建PBR纹理贴图:

    创建这些贴图有几种主要方法:

    1. 手绘和传统纹理绘制: 艺术家可以使用Photoshop、Mari等软件手动绘制或组合纹理。但仅仅绘制颜色是不够的,还需要理解物理属性,比如金属部分的基础色应该是其反射颜色,而非金属的基础色才是漫反射颜色。同时,需要手动绘制或生成对应的金属度、粗糙度、法线等贴图。这需要艺术家对材质属性有深入理解。
    2. 程序化纹理生成: 使用Substance Designer、Quixel Mixer等软件,艺术家可以基于节点图或层来创建复杂的材质,这些软件能够根据输入参数自动生成符合PBR规范的各种贴图(基础色、金属度、粗糙度、法线等)。程序化方法的好处是可以轻松调整参数生成变化,并且分辨率是无限的。
    3. 扫描现实世界材质: 使用专业的扫描设备捕捉真实物体的表面信息,直接获得高精度的PBR贴图数据。这是获取极高真实感材质的常用方法,例如使用测量设备获取反照率、使用特定光照捕捉法线和粗糙度信息。
    4. 基于照片或现有纹理: 从高质量的照片或纹理库出发,使用软件(如Substance Alchemist, Quixel Mixer)来处理和转换,提取或生成所需的PBR贴图。这通常需要去除原始照片中的光照和阴影信息,才能得到真正的反照率。
    5. 结合多种方法: 在实际生产中,通常会结合以上多种方法。例如,使用扫描数据作为基础,然后用程序化方法添加细节或变化,最后用手绘方式进行修饰。

    怎么将PBR材质应用于模型:

    创建好一套PBR纹理贴图后,接下来的步骤是:

    1. 模型UV展开 (UV Unwrapping): 确保你的三维模型已经正确地进行了UV展开,这样2D的纹理贴图才能正确地映射到3D模型的表面上。
    2. 导入模型和纹理: 将你的三维模型和创建好的PBR纹理贴图导入到你使用的三维软件或游戏引擎中(如Blender, Maya, 3ds Max, Unity, Unreal Engine, Substance Painter等)。
    3. 创建PBR材质(Shader): 在软件中创建一个新的材质球,并将其类型设置为支持PBR的材质(通常在材质选项中会明确标注PBR、Standard、Principled BSDF等)。
    4. 连接纹理贴图: 将你创建好的各项PBR纹理贴图(基础色、金属度、粗糙度、法线等)连接到材质球对应的输入插槽上。务必注意连接正确,例如将粗糙度贴图连接到Roughness输入,法线贴图连接到Normal Map输入。
    5. 调整参数: 除了贴图,PBR材质通常还有一些可以直接调整的参数,例如贴图的强度、平铺(Tiling)次数、偏移(Offset)等。根据需要进行微调。
    6. 设置光照环境: PBR材质的表现高度依赖于场景的光照。设置一个合适的、模拟真实世界的光照环境(例如使用HDR图像作为环境光,添加定向光、点光源等)来测试和展示材质效果。PBR材质的一个优点是在不同光照下表现稳定,但为了最佳效果,光照的设置仍然非常重要。
    7. 渲染或实时显示: 最后,进行渲染(离线渲染器)或在实时引擎中查看模型的显示效果。检查材质在不同角度、不同距离和不同光照条件下的表现,确保其看起来真实可信。

    掌握PBR不仅意味着学习如何使用工具和连接贴图,更重要的是理解其背后的物理原理,这样才能在创建材质时做出正确的判断,避免“看起来差不多”但实际物理属性错误的问题,从而获得真正稳定和逼真的渲染效果。

    通过遵循PBR工作流程,艺术家和技术人员能够更高效地创造出视觉效果出色、一致性强的三维内容,这也是PBR成为现代图形学不可或缺的一部分的原因。


    pbr是什么

By admin