TA工具箱首页 / TA 术语百科

金属度粗糙度工作流:PBR材质创建指南

2026-08-24

金属度粗糙度工作流概述

金属度粗糙度工作流是PBR(基于物理的渲染)的一种实现方式,通过一组贴图定义材质属性,使材质在不同光照环境下表现一致。该工作流使用金属度(Metallic)贴图区分金属与非金属,使用粗糙度(Roughness)贴图控制表面光滑程度,结合反照率(Albedo)贴图定义基础颜色。它是现代游戏引擎(如Unity、Unreal)和DCC工具(如Substance Painter)的标准工作流。

核心贴图介绍

反照率贴图(Albedo)

反照率贴图定义材质的基础颜色,但不包含光照信息(如阴影、高光)。对于金属,反照率表示金属的颜色;对于非金属,表示表面颜色。反照率贴图不应包含任何光照或阴影细节,否则会破坏PBR的物理正确性。

金属度贴图(Metallic)

金属度贴图使用灰度值指定哪些区域是金属或非金属。白色(值1)表示纯金属,黑色(值0)表示非金属(如木材、塑料)。金属度通常是二值的,但可以有过渡值表示混合材质(如生锈的金属)。金属的漫反射为黑色,高光颜色来自反照率;非金属的漫反射为反照率颜色,高光为白色。

粗糙度贴图(Roughness)

粗糙度贴图控制表面的微观粗糙程度。白色(值1)表示完全粗糙,漫反射强,高光分散;黑色(值0)表示完全光滑,高光锐利。粗糙度可以类比为光泽度的反值(粗糙度 = 1 - 光泽度)。

其他常用贴图

  • **法线贴图(Normal Map)**:提供表面凹凸细节,增强真实感。
  • **环境光遮蔽贴图(AO Map)**:提供接触阴影,增强局部暗部细节。
  • **高度贴图(Height Map)**:用于视差映射等效果,增加几何感。

使用金属度粗糙度工作流的步骤

  1. **创建或获取PBR贴图**:使用Substance Painter、Quixel Mixer等工具制作,或从素材库下载。
  2. **导入游戏引擎**:将贴图导入Unity或Unreal,创建材质。
  3. **连接贴图**:将反照率、金属度、粗糙度、法线等贴图分别连接到材质的对应输入。
  4. **调整参数**:根据需要调整贴图的平铺、偏移,或修改材质属性(如金属度、粗糙度的滑块)。
  5. **测试不同光照**:在多种光照环境下检查材质表现,确保一致性。
  6. 金属度粗糙度工作流与高光/光泽度工作流的对比

    | 特性 | 金属度粗糙度工作流 | 高光/光泽度工作流 |

    |------|-------------------|-------------------|

    | 贴图数量 | 较少(金属度+粗糙度) | 较多(高光颜色+光泽度) |

    | 直观性 | 直观,易于理解 | 稍复杂 |

    | 边缘伪影 | 可能产生白边 | 较少 |

    | 控制灵活性 | 较低 | 较高 |

    | 现代引擎支持 | 广泛支持 | 部分支持 |

    多数情况下推荐金属度粗糙度工作流,因为它更简单、贴图更少,且不容易出现物理错误。

    常见问题

    金属度贴图应该使用灰度还是彩色?

    金属度贴图必须使用灰度图,因为金属度是一个标量值。彩色通道会被忽略或产生错误。

    粗糙度贴图可以用光泽度贴图代替吗?

    可以,粗糙度 = 1 - 光泽度。有些工具或引擎使用光泽度,可以反转得到粗糙度。

    为什么金属度贴图不能有中间值?

    在物理上,大多数材质要么是金属要么是非金属,中间值通常只出现在过渡区域(如腐蚀、涂层)。因此,金属度贴图通常是非黑即白,但允许少量过渡值。

    如何避免金属边缘的白边?

    白边通常是由于反照率贴图在金属/非金属边界处颜色不正确(如非金属区域使用了白色)。确保反照率贴图正确,或使用更高分辨率的贴图减少锯齿。

    金属度粗糙度工作流适合所有材质吗?

    适合大多数硬表面和角色材质,但对于特殊材质(如布料、皮肤、车漆)可能需要额外的贴图(如次表面散射、清漆层)来增强效果。

常见问题

金属度贴图应该使用灰度还是彩色?

金属度贴图必须使用灰度图,因为金属度是标量值。彩色通道会被忽略或导致错误。

粗糙度贴图可以用光泽度贴图代替吗?

可以,粗糙度 = 1 - 光泽度。两者可以互相转换。

为什么金属度贴图不能有中间值?

物理上材质通常要么是金属要么是非金属,中间值仅出现在过渡区域,因此建议保持二值或少量过渡。

如何避免金属边缘的白边?

确保反照率贴图在边界处颜色正确,或使用更高分辨率贴图来减少锯齿。

金属度粗糙度工作流适合所有材质吗?

适合大多数材质,但特殊材质(如皮肤、车漆)可能需要额外贴图来增强效果。