TA工具箱首页 / 工具教程

如何生成 PBR 贴图:法线、粗糙度、金属度完整指南

2026-08-24

引言

基于物理的渲染(PBR)需要一组特定的贴图来准确模拟真实材质。其中,法线贴图(Normal Map)、粗糙度贴图(Roughness Map)和金属度贴图(Metallic Map)是最核心的组成部分。本教程将指导你如何生成这些贴图。

法线贴图生成

法线贴图存储表面法线方向,用于增加几何细节的视觉复杂度。生成方法包括:

从高模烘焙

使用建模软件(如 Blender、Maya、ZBrush)将高精度模型的细节烘焙到低模上。

  1. 创建低模和高模。
  2. 在 Blender 中,选择低模,进入 Shading 工作区,添加图像纹理节点,新建一张法线贴图。
  3. 使用 Cycles 渲染器的 "Bake" 功能,设置 Bake Type 为 "Normal",选择高模作为目标。
  4. 烘焙得到法线贴图。
  5. 从照片生成

    使用法线贴图生成工具(如 CrazyBump、ShaderMap、AwesomeBump)从漫反射贴图或高度图生成法线贴图。

    1. 导入彩色纹理或灰度高度图。
    2. 调整强度、模糊等参数。
    3. 导出法线贴图。
    4. 程序化生成

      在 Substance Designer 等节点式工具中,通过噪声、形状等节点组合生成法线贴图。

      粗糙度贴图生成

      粗糙度贴图控制表面微观粗糙程度,影响反射的模糊度。白色表示粗糙(漫反射强),黑色表示光滑(镜面反射强)。

      从照片提取

      1. 使用图像编辑软件(如 Photoshop)打开表面照片。
      2. 转换为灰度,调整对比度,使粗糙区域更亮,光滑区域更暗。
      3. 可以使用高通滤波或反相来提取粗糙度信息。
      4. 程序化生成

        在 Substance Designer 中,通过 Grunge Maps、Noise 等节点生成粗糙度变化,结合混合节点控制。

        手动绘制

        对于特定材质,可直接在纹理绘制软件(如 Substance Painter、Mari)中手动绘制粗糙度。

        金属度贴图生成

        金属度贴图指定哪些区域是金属(白色)或非金属(黑色),通常只有0或1两种值,但过渡区域可保留灰度。

        从照片或纹理创建蒙版

        1. 根据材质属性,使用选择工具或颜色范围选择金属区域。
        2. 填充白色,非金属区域填充黑色。
        3. 对于过渡区域,使用羽化或渐变。
        4. 程序化生成

          在 Substance Designer 中,使用 ID 贴图或材质混合来定义金属区域。

          手动绘制

          在 Substance Painter 中,使用填充图层和遮罩来精确控制金属度。

          工具推荐

          • **Blender**:免费开源,支持从高模烘焙法线。
          • **Substance Suite**:行业标准,提供 Designer 和 Painter,强大的程序化和手绘能力。
          • **CrazyBump / ShaderMap**:专为从照片生成法线、粗糙度等贴图设计。
          • **Materialize**:免费工具,可从单张照片生成多种 PBR 贴图。
          • **AwesomeBump**:开源替代。

          注意事项

          • **颜色空间**:法线贴图应使用线性颜色空间,粗糙度和金属度贴图通常使用线性或灰度,避免 sRGB 校正。
          • **贴图尺寸**:根据目标平台和模型复杂度决定,通常为 1024x1024 或 2048x2048。
          • **无缝平铺**:如果材质需要平铺,确保生成的贴图无缝。
          • **一致性**:确保所有贴图对齐,纹理坐标一致。

          总结

          生成 PBR 贴图有多种方法,可根据项目需求和资源选择。从高模烘焙质量最高,但耗时;从照片生成快速但精度有限;程序化生成灵活但需要专业知识。建议结合使用多种方法。

常见问题

我只有一张漫反射颜色贴图,可以生成完整 PBR 贴图吗?

可以,但质量有限。使用 Materialize、ShaderMap 等工具可以从漫反射贴图推测法线、粗糙度等,但结果可能不准确,需要手动调整。

法线贴图看起来偏蓝是正常的吗?

是的。法线贴图默认以切线空间存储,其中 Z 轴(蓝色通道)通常朝外,所以整体呈蓝色。

粗糙度和光泽度有什么区别?

粗糙度是光泽度的反相。粗糙度贴图中白色表示粗糙,黑色表示光滑;光泽度贴图则相反。许多引擎使用粗糙度。

金属度贴图必须是纯黑纯白吗?

不一定。对于大多数材质,金属和非金属区域边界清晰,但过渡区域(如锈蚀金属)可以使用灰度值。

如何确保烘焙的法线贴图细节正确?

确保高低模匹配良好,UV 展开合理,烘焙时使用足够的采样和 cage 设置。