概念页
PBR 贴图工作流
PBR Texture Workflows
PBR(Physically Based Rendering)贴图制作有两条主流工作流——金属度/粗糙度 (Metal/Roughness, MR) 与镜面/光泽度 (Specular/Glossiness, SG)。它们表达同一套物理数据,只是通道切分不同;Substance、UE、Filament 等以 MR 为主,SG 多用于兼容旧资产。本页从美术生产角度对照通道语义、引擎对应关系与取舍,不重复 BRDF/微表面公式(见图形学 基于物理的着色)。
原理:两条工作流表达同一数据
《The PBR Guide》强调:PBR 是方法论而非硬标准,实现可有差异,但 MR 与 SG 代表相同数据、不同打包方式;选哪条并不决定对错,对错取决于是否遵守物理取值区间。Substance 的 MR/SG 着色器均用 GGX,且不对粗糙度/光泽度做额外重映射(若管线需要可自定义)。
| 工作流 | 专属通道 | 共用可选通道 |
|---|---|---|
| Metal/Roughness | Base Color (RGB, sRGB)、Metallic(灰度, 线性)、Roughness(灰度, 线性) | AO、Normal、Height(视差/置换) |
| Specular/Glossiness | Diffuse/Albedo (RGB, sRGB)、Specular (RGB, sRGB)、Glossiness(灰度, 线性) | 同上 |
MR 中电介质 F0 默认由着色器硬编码为 4%(线性 0.04):金属度贴图为黑时,对应 Base Color 当漫反射色处理。UE4/Substance 另提供 specular / specularLevel 通道,把电介质 F0 从线性 0.0–0.08 映射到贴图 0.0–1.0(其中 0.5 = 4%)。SG 则把金属反射色与电介质 F0 都写进 Specular RGB,美术对电介质 F0 有完整控制,也更容易写出破坏能量守恒的值。
粗糙度与光泽度互为反转:
通道对照(MR ↔ SG)
flowchart TB
subgraph MR["Metal/Roughness"]
BC["Base Color: 电介质反照率 + 金属 F0"]
M["Metallic: 0=电介质 1=金属"]
R["Roughness: 0光滑 1粗糙"]
end
subgraph SG["Specular/Glossiness"]
D["Diffuse: 电介质反照率; 生金属=黑"]
S["Specular: 电介质 F0 + 金属反射色"]
G["Glossiness: 0粗糙 1光滑"]
end
BC -->|"电介质色"| D
BC -->|"金属反射色"| S
M -->|"掩码语义"| S
R -->|"roughness = 1 - glossiness"| G上图:同一物理表面在两条工作流中如何拆通道。互转时勿只翻转粗糙度——还要把 Base Color 里的金属色拆到 Specular,并把生金属在 Diffuse 置黑。
应用:美术该画什么
- 先问「是不是生金属?」——锈、漆、污垢盖住的区域按电介质处理(MR 金属度压低;SG 在 Diffuse 给色、Specular 降到电介质 F0)。
- MR 优先(省内存:Metallic/Roughness 为灰度;电介质 F0 不易失手;业界更普及)。边缘伪影(金属/非金属交界的白边)比 SG 更明显,靠足够的 texel 密度缓解。
- SG 适用需要逐像素电介质 F0、或加载遗留资产时。Filament 的
specularGlossiness着色模型明确标为 legacy,不推荐新内容。 - 引擎语义对照(生产常用名):
| 概念 | Substance / UE MR | Filament Lit | SG 名 |
|---|---|---|---|
| 反照率/金属色 | Base Color | baseColor | Diffuse + Specular 拆分 |
| 金属掩码 | Metallic | metallic(宜 0 或 1) | (无独立通道,由 Diffuse 是否为黑 + Specular 亮度体现) |
| 微观粗糙 | Roughness | roughness | Glossiness(取反) |
| 电介质 F0 | specularLevel / Specular(默认 0.5→4%) | reflectance(默认 0.5→4%) | Specular RGB 直接写 F0 |
取舍
- 不要把传统 Phong「Diffuse/Specular」习惯直接套到 PBR 同名贴图上——SG 的 Diffuse/Specular 语义已变。
- 能量守恒:MR 由金属掩码控制漫反射/镜面份额,Substance 实现下难以写出「反射+折射超过入射」;SG 若 Diffuse 与 Specular 同时接近白,可破坏守恒,着色器侧必须钳制。
- 理论细节(微表面、菲涅耳、金属度参数化)见 基于物理的着色;具体通道数值见后续专页。
出处
- 02 · What Is Pbr
- 03 · Metal Roughness Workflow
- 04 · Specular Glossiness Workflow
- The PBR Guide(第 3 版)
- Wes McDermott《The PBR Guide》第三版(Allegorithmic, 2018)Part 2
- Filament Materials
- google.github.io/filament/main/materials.html
相关页面
游戏美术Base Color 与反照率制作Base Color & Albedo AuthoringBase Color(MR)/ Diffuse·Albedo(SG)承载物质固有色:电介质为漫反射反照率,金属为镜面反射色(F0)。制作要点是保持正确亮度区间、不要画进光照/阴影/AO(微遮蔽例外),并注意 sRGB 贴图与线性着色的分工。游戏美术线性工作流(Birn)Linear Workflow from Birn第 3 版 Ch8「Working in a Linear Workflow」强调:贴图、表面色、灯光、渲染与合成全程保持数字色值与真实光强的线性对应;美术灯光必须在线性空间思考,否则二次衰减、GI、叠光都会「算对了却看起来错」。游戏美术金属度与粗糙度贴图Metallic & Roughness MapsMetallic 是告诉着色器「Base Color 这段是电介质固有色还是金属 F0」的掩码;Roughness 描述微观不规则、控制高光扩散。生产上金属度宜接近二值,粗糙度几乎全由美术叙事;并记住 \mathrm{roughness}=1-\mathrm{glossiness}。游戏美术镜面工作流贴图Specular-Glossiness MapsSpecular/Glossiness(SG)用 Diffuse、Specular、Glossiness 三张图表达与 Metal/Roughness 相同的物理数据:电介质 F0 与金属反射色都写在 Specular RGB,Glossiness 是 Roughness 的反相。适合需要逐像素电介质 F0 或兼容旧资产;新项目通常优先 MR。游戏美术PBR 材质校验与参考值PBR Validation & Reference Values校验 PBR 贴图先问「是不是金属」,再对照反照率亮度、金属 F0、电介质 F0 的实测区间。本页汇总《The PBR Guide》附录与 Filament Reflectance 表中的生产向数字,并列出常见错误模式。游戏美术Filament 材质模型参数Filament Material Model ParametersGoogle Filament 的 Lit(标准)模型按 Disney/UE/Substance 互通思路设计,用 baseColor、metallic、roughness、reflectance 等参数描述导体与电介质,并叠加 clearCoat、sheen、iridescence、transmission 等层。本页从美术/TA 角度说明含义、合理范围,以及与 UE / Substance 的对照;不做 BRDF 公式展开。游戏美术法线与 AO 贴图制作要点Normal & AO Map Authoring Tips《The PBR Guide》把 Ambient Occlusion、Height、Normal 列为 MR/SG 共用通道。本页只收录面向美术的制作要点;法线数学与 AO 算法见图形学专页。图形学基于物理的着色Physically Based Shading基于物理的着色从光与物质交互的物理出发,用 BRDF 和反射方程计算表面沿视线方向射出的辐射亮度:镜面项来自微表面理论与菲涅耳反射,漫反射项来自局部次表面散射,布料、波动光学与分层材质再作扩展。本页是 RTR4 第 9 章的总览,并收录该章第 9.13 节的材质混合与材质过滤(镜面抗锯齿)。图形学着色频率与材质系统Shading Frequency & Material Systems实现着色时要按"计算频率"划分工作:整个 draw call 不变的放到应用端作为 uniform,其余放在相应的可编程阶段。实践中大多数着色在像素级完成,顶点着色器负责变换和变形。材质系统把面向美术的材质与底层着色器组织起来,处理海量着色器变体的组合问题。游戏开发 · UE5材质系统Material SystemUE 材质 (Material) 是用节点图描述「表面如何与光交互」的着色器生成器。它有三个正交维度:着色模型 (Shading Model) 决定光照模型(Default Lit、次表面、清漆、毛发等),混合模式 (Blend Mode) 决定与背景的合成公式(Opaque/Masked/Translucent…),参数 + 材质实例 (Material Instance) 让美术在不重编译着色器的前提下做变体。PBR 输入(Base Color/Roughness/Metallic/Specular)直接对应 RTR4 的金属度-粗糙度工作流;最大的工程坑是静态参数导致的着色器排列爆炸。图形学显示编码与 sRGBDisplay Encoding & sRGB光照、纹理等计算假设数值是线性的,但显示缓冲和纹理使用非线性编码。简短的回答是:着色器输出 [0,1] 的颜色要取 1/2.2 次幂(gamma 校正),读入的纹理和颜色做相反的变换,多数情况下可以让 GPU 自动完成。忽略它会导致画面偏暗、色相偏移、光照叠加错误和抗锯齿边缘"绳索化"。游戏开发 · UE5Substrate 材质Substrate MaterialsSubstrate 用一种更有表现力、更模块化的框架,取代旧材质系统里固定的一组着色模型和混合模式(Default Lit、Clear Coat 等)。材质被看作一块块「物质板 (Slab)」,每块是用有明确单位的物理量参数化的原则化 BSDF,再通过混合、垂直分层等运算组合成图。代价是光照评估更贵,所以提供参数混合和两种 GBuffer 格式(Blendable / Adaptive)来在速度和画质之间取舍。新项目默认启用 Substrate;升级到 5.7 及以后的老项目默认不启用。游戏美术经典着色与贴图要点(Birn)Classic Shading & Texturing Notes from Birn现以第 3 版 Ch9 + Ch10 为准(轻量页)。 Ch9:diffuse/glossy/specular、microfacet、Fresnel、各向异性、physically based shaders(能量守恒、BRDF/BSSRDF)、抗锯齿、光线追踪与 GI、Reyes 等。Ch10:属性贴图、UV/Ptex、投影、制作与平铺、污迹与流程策略。公式与 PBS 细节链图形学/PBR/Filament,不在此重复建理论页。游戏美术为真实感服务的贴图与建模Texturing & Modeling for Photorealism合并 Dinur Ch13 Texturing + Ch14 Modeling:为灯光而建模(倒角吃光),以及 PBR 贴图通道、拍照采材质与程序纹理的注意点。通道语义细节以已有 PBR Guide 系列为准,本页补「真实感动机」与常见翻车。游戏美术介质与金属材质判别Dielectric vs Metal DiscriminationDinur Ch9:先分清 介质/电介质 (dielectric) 与 金属 (metal) 的反射行为,再谈漫反射/镜面平衡与 Fresnel。详细 BRDF/微表面见图形学与 Ch12;本页只做材质判别与贴图侧互链,避免与 基于物理的着色 重复公式。