游戏 PBR 资产制作流程|从需求到引擎交付

版本基线:3ds Max 2024.2、RizomUV 2020、Marmoset Toolbag 5.02、Substance 3D Painter v10.0.1、ZBrush 2023.1.1。本文整理的是游戏美术岗位常见的通用流程;三角面预算、纹素密度、贴图规格、命名和通道打包必须以具体公司与项目规范为准。粗搞位于👉学习建模所记录的一些笔记 | 坂琴的小窝🍜

1. 先理解:公司要的不是“一个好看的模型”

游戏资产必须同时满足四类要求:

  1. 美术正确:比例、轮廓、材质和磨损逻辑成立。
  2. 技术正确:拓扑、UV、法线、切线空间、LOD、碰撞和导出设置正确。
  3. 性能可控:三角面、材质槽、纹理数量、分辨率和透明度开销符合目标平台。
  4. 可维护:命名、目录、版本、源文件和交付说明让其他人能继续工作。

因此,完整流程不是“建模 → 贴图 → 出图”,而是:

需求确认 → 参考与材质拆解 → Blockout → 高模 → 低模 → UV → 烘焙 → PBR 贴图 → 引擎集成 → 性能与视觉 QA → 交付

2. 全流程阶段门

阶段 主要软件 输入 输出 通过条件
0. 需求与技术规格 文档、引擎 任务卡、概念图 资产规格表 引擎、平台、预算、命名、贴图规范均明确
1. 参考与材质拆解 PureRef 等 概念图、实物参考 参考板、材质清单 正背侧、尺度、结构和材质成因清楚
2. Blockout 3ds Max 规格表、参考板 可评审灰模 尺寸、比例、轮廓、Pivot 与拼接关系正确
3. 高模 ZBrush、3ds Max 通过评审的灰模 可烘焙高模 大中小形层级明确,无无意义噪声
4. 低模与 LOD0 3ds Max 高模或灰模 游戏低模 轮廓优先、拓扑可控、三角面符合预算
5. UV RizomUV 最终低模 UV0;必要时 UV1 拉伸、密度、重叠、方向和 Padding 合格
6. 烘焙 Toolbag 或 Painter 高模、低模、UV Normal、AO、Curvature 等 无明显接缝、投射、波浪、漏烘
7. PBR 贴图 Painter 低模与 Mesh Maps Base Color、Normal、R/M/AO 等 多种灯光下材质稳定,数值物理合理
8. LOD、碰撞、导出 3ds Max、引擎 完成资产 FBX、贴图、碰撞、LOD 命名、Pivot、三角化、法线和尺度一致
9. 引擎集成 Unreal/项目引擎 交付文件 可用游戏资产 材质连接、碰撞、LOD、光照和性能正确
10. 最终 QA 引擎、Toolbag 集成资产 审核截图与交付包 视觉、技术、性能和目录检查全部通过

3. 阶段 0:建立资产规格表

没有规格表就开始建模,是最容易返工的做法。至少先确认:

项目 必须明确的内容
资产用途 英雄资产、普通场景道具、模块化建筑、远景资产或角色附件
目标平台 PC、主机、移动端、VR;这直接影响预算
目标引擎 Unreal、Unity 或公司自研引擎
尺度与单位 真实尺寸;DCC 与引擎单位换算
坐标与朝向 Up 轴、Forward 轴、模型正面方向
Pivot 中心、底部、角点、铰链或模块吸附点
几何预算 LOD0 三角面数与后续 LOD 目标
材质预算 材质槽数量、Shader 类型、是否允许透明
UV 规范 纹素密度、0–1 或 UDIM、镜像/堆叠是否允许、UV1 要求
贴图规范 分辨率、格式、位深、颜色空间、法线方向、通道打包
LOD 与碰撞 数量、切换策略、碰撞复杂度和命名
命名与目录 资产前缀、大小写、分隔符、版本号和提交位置

公司流程的第一条原则:项目规范高于个人习惯。 本笔记中的数值只能当参考,不能替代任务卡。

3.1 开工前选择资产与纹理策略

不是所有资产都应该走“每件做一套唯一高低模 + 唯一贴图”。先由主美/技术美术或任务规范确认策略:

策略 适合情况 主要检查点
唯一烘焙贴图 英雄道具、独特磨损和近景资产 纹理预算、唯一 UV、烘焙质量
平铺材质 / Tiling 大面积墙地、重复表面 真实材质尺度、重复感、顶点混合
Trim Sheet 模块建筑、重复边框与型材 模块尺寸、UV 对齐、共享材质规则
Atlas 图集 多个小件或同类资产合批 共享分辨率、Padding、更新成本
贴花 / Decal 标识、污渍、裂缝和局部变化 Overdraw、排序、数量与平台开销
混合方案 大多数正式场景资产 唯一细节只用在真正重要的位置

选择策略后再决定高模范围、UV 方案、材质槽和贴图数量。否则很容易把适合共享材质的场景模块做成昂贵的唯一贴图资产。

4. 阶段 1:参考与 PBR 材质拆解

4.1 参考板必须包含

  • 正面、侧面、背面和顶部结构。
  • 人或已知物体作尺度对比。
  • 新品、使用中和损坏状态。
  • 近距离材质细节:涂层、裸露金属、锈、灰尘、油污、木纹等。
  • 相同材质在干燥、潮湿、强光和柔光下的表现。

4.2 每种材质先回答五个问题

  1. 它是金属还是非金属?
  2. 表面是否有涂层?磨损后露出的是什么?
  3. 粗糙度变化由什么造成:抛光、油污、灰尘、腐蚀还是水?
  4. 哪些细节属于几何,哪些属于法线或高度?
  5. 污渍为什么在这里出现:重力、手部接触、边缘碰撞还是积水?

5. 阶段 2:3ds Max Blockout

详细操作见:3ds Max|建模与视口操作

5.1 操作顺序

  1. 设置系统单位和显示单位,记录真实尺寸。
  2. 在世界原点附近建立灰模,先处理整体比例和占地尺寸。
  3. 按功能拆分部件:主体、活动件、可重复件、碰撞体、未来 LOD。
  4. 设置临时材质颜色,帮助区分结构,不在此阶段做最终材质。
  5. 把 Pivot 放到实际使用位置,例如门轴、轮轴或模块角点。
  6. 导入引擎做第一次尺度测试,而不是完成后才第一次导入。

5.2 Blockout 评审门

  • [ ] 放进游戏场景后尺寸正确。
  • [ ] 主视角轮廓与概念图一致。
  • [ ] 活动件轴心正确。
  • [ ] 模块拼接没有缝隙或重叠。
  • [ ] 已决定哪些细节做几何、哪些烘焙进贴图。

6. 阶段 3:高模制作

详细操作见:ZBrush|基础操作与模型管理

6.1 形体优先级

  1. 大形:轮廓、比例、主要体块。
  2. 中形:面板分割、焊缝、倒角、破损区域。
  3. 小形:木纤维、划痕、毛孔、锤击纹。
  4. 微细节:只添加在最终像素密度能显示的位置。

6.2 高模常见公司要求

  • 倒角宽度在目标观看距离下可读,不要只追求现实中的极窄边。
  • 不允许依靠随机噪声掩盖错误的大形。
  • 浮动几何要避免互相穿插造成烘焙污染。
  • 高模与低模保持相同世界位置、比例和对象分组逻辑。
  • 保存可编辑源文件;若为烘焙制作减面副本,不覆盖原高模。

6.3 高模评审门

  • [ ] 纯色材质、无贴图时形体仍然成立。
  • [ ] 不同角度轮廓自然。
  • [ ] 大、中、小细节层级清楚。
  • [ ] 没有对称复制留下的不合理重复痕迹。
  • [ ] 可按对象名与低模一一对应。

7. 阶段 4:低模、拓扑与三角化

7.1 低模原则

  • 面数优先用在轮廓、关节、变形区和明显高光转折。
  • 平面内部看不出轮廓变化的边,应判断是否可以删除。
  • 不为“全四边面”牺牲游戏运行效率;最终渲染是三角形。
  • 细长三角形、重叠面、非流形、零面积面和孤立顶点必须清理。
  • 静态道具可以使用三角面;动画模型必须额外考虑变形流线。

7.2 为什么要在烘焙前固定三角化

同一个四边面在不同软件中可能沿不同方向拆成三角形,导致顶点法线和法线贴图不匹配。推荐:

  1. 在 DCC 中保存一份可编辑四边面源文件。
  2. 复制出导出版本。
  3. 在导出版本上固定三角化。
  4. 使用同一份三角化低模完成烘焙、Painter 和引擎导入。

7.3 材质槽

材质槽越多,通常意味着更多 Draw Calls。是否拆分材质应同时考虑:

  • 贴图分辨率是否足够;
  • Shader 是否不同,例如不透明、透明、发光;
  • 是否需要独立换装或染色;
  • 资产是否会被合批或实例化。

8. 阶段 5:UV

详细操作见:RizomUV|展开与缝合

8.1 UV0 操作顺序

  1. 导入最终三角化策略已经确定的低模。
  2. 先按结构和硬边规划接缝。
  3. 使用 C 切缝。
  4. 使用 U 展开。
  5. 使用 O 优化并检查棋盘格拉伸。
  6. 拉直需要保持方向的硬表面边。
  7. 统一或按重要度分配纹素密度。
  8. 处理允许的镜像、堆叠和重复件。
  9. 设置与目标分辨率对应的像素间距。
  10. 使用 P 排布,并做最终重叠与越界检查。

8.2 硬边与 UV 缝

  • 硬边通常应同时切成 UV 缝,避免同一 UV 顶点承载不连续的顶点法线。
  • UV 缝不一定都要是硬边。
  • 最终规则必须与目标引擎的切线空间和公司烘焙规范一致。

8.3 UV1 或光照贴图通道

如果项目使用烘焙光照,通常还需要独立光照 UV:

  • 不允许重叠和镜像;
  • 所有板片位于 0–1;
  • 有足够像素 Padding;
  • 通道编号与引擎导入设置一致。

现代动态光照或虚拟几何方案是否仍要求光照 UV,应由项目技术美术确认。

9. 阶段 6:高低模烘焙

详细操作见:Marmoset Toolbag|烘焙与渲染

9.1 烘焙前检查

  • [ ] 高低模使用一致的坐标、比例和 Pivot。
  • [ ] 对象命名能按 name_low / name_high 配对。
  • [ ] 低模 UV 无意外重叠或越界。
  • [ ] 低模已固定三角化。
  • [ ] 平滑组、硬边和 UV 缝已最终确定。
  • [ ] 目标切线空间和法线方向已确认。

9.2 烘焙顺序

  1. 在低分辨率、低采样下只烘焙法线。
  2. 检查接缝、波浪、黑边、投射到邻件和漏烘。
  3. 调整包围框 / Cage、偏移、倾斜校正或烘焙组。
  4. 法线通过后,再烘焙 AO、Curvature、Position、Thickness、ID 等。
  5. 提高到最终分辨率和合理采样。
  6. 把烘焙器、版本、切线空间和参数记录在交付说明中。

9.3 烘焙图用途

主要用途
Tangent Normal 在低模上重建高模表面方向
World Space Normal Painter 生成器的方向依据
AO 局部遮蔽信息;通常作为独立线性数据使用
Curvature 边缘、凹槽和磨损生成器依据
Position 上下、前后或空间渐变遮罩
Thickness 半透明、散射或厚薄相关效果
ID 快速选择材质区域,不直接等于最终颜色

10. 阶段 7:PBR 贴图制作

详细操作见:Substance 3D Painter|贴图制作与导出

10.1 金属度—粗糙度工作流

通道 正确理解 常见错误
Base Color 材质本身颜色;金属区域也承载反射颜色 画入灯光、高光、强 AO 和方向性阴影
Metallic 纯金属通常为 1,非金属为 0 所有区域都使用模糊灰色“看起来更高级”
Roughness 控制反射清晰度;0 光滑,1 粗糙 只改颜色,不做粗糙度层次
Normal 表面微小方向变化 方向与目标引擎不一致
AO 局部环境遮蔽 永久重度乘进 Base Color,导致换光后仍发黑
Height 高低变化的源数据 用过强高度代替真正需要的几何
Opacity 透明或镂空控制 不透明资产也输出无意义 Alpha

10.2 贴图分层顺序

  1. 基础材质层:真实材质的 Base Color、Metallic、Roughness。
  2. 大尺度变化:上下、内外、日晒、潮湿和主要使用区域。
  3. 结构层:接缝、焊缝、面板缝、凹陷和凸起。
  4. 使用痕迹:边缘磨损、手部接触、脚踩、刮擦。
  5. 环境痕迹:灰尘、泥、锈、油、水渍。
  6. 微细节:颗粒、木纤维、细划痕;控制强度。
  7. 校验层:检查颜色、粗糙度、金属度和法线单通道。

10.3 材质逻辑示例

  • 漆面金属:油漆是非金属;只有油漆脱落露出的基底才是金属。
  • 锈:锈层通常按非金属处理,粗糙度高于裸露抛光金属。
  • 灰尘:通常提高粗糙度、降低对比并积在朝上或凹陷区域。
  • 油污:常降低粗糙度并出现在接触、转轴和维护区域。
  • 木头:金属度为 0;主要靠 Base Color、Roughness、Normal/Height 表现纤维与破损。

11. 阶段 8:贴图导出、颜色空间与通道打包

11.1 颜色空间

常见基线如下,但引擎导入规则优先:

贴图 常见颜色空间
Base Color、Emissive Color sRGB
Normal、Roughness、Metallic、AO、Height、Mask 线性数据,通常关闭 sRGB

11.2 法线方向

  • OpenGL 常记作 Y+。
  • DirectX / Direct3D 常记作 Y-。
  • Painter 官方项目说明中,Unreal 默认使用 DirectX;Unity 默认使用 OpenGL,HDRP 设置需另行确认。
  • 方向错误时通常表现为凹凸相反;应修正项目或导出设置,不要靠灯光掩盖。

11.3 通道打包

原笔记的 Mix 约定:

通道 内容
R Roughness
G Metallic
B Mixed AO

这不是行业唯一标准。项目也可能使用 ORM:R=AO、G=Roughness、B=Metallic。导出模板与引擎材质节点必须成对维护。

12. 阶段 9:LOD、碰撞与 FBX 导出

12.1 LOD

  • LOD0 保留最近距离所需轮廓和材质。
  • 后续 LOD 优先减少小轮廓、内部结构和远处不可读细节。
  • 所有 LOD 保持相同位置、比例与 Pivot。
  • 不要机械规定每级减少固定百分比;以屏幕占比、轮廓误差和目标平台为准。

12.2 碰撞

  • 碰撞用于游戏交互,不是复制一份渲染网格。
  • 尽量使用简单凸体;复杂度由玩法需求决定。
  • 门、抽屉和活动件的碰撞要考虑动画范围。
  • Unreal 的自定义碰撞常使用 UCX_ 等命名;具体前缀必须查项目导入规范。

12.3 FBX 导出

  1. 只选择需要交付的低模、LOD、骨骼或碰撞体。
  2. 确认单位、轴向、Pivot、位置、旋转和缩放。
  3. 导出平滑组;切线/副法线是否导出由项目切线流程决定。
  4. 使用与烘焙一致的三角化低模。
  5. 关闭不需要的相机、灯光、动画和嵌入媒体。
  6. 将 FBX 重新导入空场景,做一次回读验证。

13. 阶段 10:引擎集成

以 Unreal 静态网格为例,官方 FBX 流程支持材质、多个 UV、平滑组、顶点色、LOD 和自定义碰撞;实际公司通常还会增加自动检查脚本。

13.1 导入后必须检查

  • [ ] 尺度、朝向和 Pivot。
  • [ ] 三角面数、材质槽和 UV 通道。
  • [ ] 法线、切线与接缝。
  • [ ] Base Color、Normal、Mix 等贴图颜色空间。
  • [ ] 通道打包节点是否对应。
  • [ ] LOD 数量、屏幕切换与轮廓跳变。
  • [ ] 碰撞是否阻挡正确、是否过度复杂。
  • [ ] 光照贴图通道与分辨率;仅在项目需要时。
  • [ ] Nanite、虚拟纹理或项目特有功能设置;仅按项目要求启用。

13.2 必须在真实场景中验证

  • 中性光、强光、背光和较暗环境。
  • 最近与最远实际游戏距离。
  • 不同曝光、天气或时间段。
  • 与附近资产的纹素密度和材质尺度是否一致。

14. 公司级 QA 清单

14.1 几何

  • [ ] 无重面、破面、反法线、孤立点和非流形错误。
  • [ ] 轮廓预算合理,隐藏区域没有无意义面数。
  • [ ] 三角化与烘焙版本一致。
  • [ ] Pivot、单位、轴向和变换正确。
  • [ ] LOD 与碰撞通过游戏测试。

14.2 UV 与烘焙

  • [ ] 纹素密度符合项目表。
  • [ ] 镜像、堆叠和重叠均为有意设计。
  • [ ] Padding 足够,Mipmap 下不串色。
  • [ ] 法线无明显接缝、波浪、投射或漏烘。
  • [ ] 硬边、UV 缝和切线空间一致。

14.3 PBR 材质

  • [ ] Base Color 没有烘死灯光与高光。
  • [ ] 金属度符合材料,而不是凭视觉随意填灰。
  • [ ] 粗糙度承担主要材质变化。
  • [ ] 所有污渍、磨损和锈迹都有成因。
  • [ ] 在多套 HDR 与目标引擎中表现稳定。

14.4 文件与提交

  • [ ] 命名、目录、后缀和版本号符合任务卡。
  • [ ] 没有丢失贴图、绝对路径和无用测试文件。
  • [ ] 源文件、导出文件和最终贴图分层清楚。
  • [ ] 提交前做过回读测试。
  • [ ] 交付说明记录软件版本、特殊设置和待解决问题。

15. 推荐交付目录

以下只是通用示例,仓库结构以公司规定为准:

1
2
3
4
5
6
7
8
9
10
11
Asset_Name/
├─ Source/
│ ├─ Max/
│ ├─ ZBrush/
│ └─ Painter/
├─ Export/
│ ├─ Mesh/
│ └─ Textures/
├─ Reference/
├─ Review/
└─ README.md

建议源文件递增保存,例如 asset_hp_v001.ztlasset_lp_v003.max,不要长期覆盖唯一文件。

16. 最容易导致返工的问题

  1. 完成建模后才第一次导入引擎检查尺度。
  2. 烘焙后又改变低模三角化、硬边或 UV。
  3. 不确认法线方向,见到凹凸反了就随手 Flip Y。
  4. 把 AO、高光和灯光重度画进 Base Color。
  5. 只在 Painter 或 Toolbag 中好看,没有在目标引擎验证。
  6. 用“公司都这样”代替具体任务卡数值。
  7. 只有最终文件,没有可回退的源文件与版本记录。

17. 本套笔记的软件分工

文件 对应 PBR 阶段
01-3ds Max|建模与视口操作 Blockout、低模、Pivot、LOD、碰撞、导出
02-RizomUV|展开与缝合 UV 接缝、展开、纹素密度、排布、UV QA
03-Marmoset Toolbag|烘焙与渲染 高低模烘焙、材质验证、作品展示
04-Substance 3D Painter|贴图制作与导出 PBR 材质、Mesh Maps、通道打包、导出
05-ZBrush|基础操作与模型管理 高模雕刻、SubTool、Polygroup、Mask、导出

待确认术语表

项目 原因
三角面、纹素密度、贴图分辨率 必须由目标平台和资产等级决定
通道打包顺序 原笔记 Mix 与常见 ORM 不同,必须查项目 Shader
LOD 数量与减面比例 必须以引擎测试和项目预算为准
碰撞命名 Unreal 与自研引擎可能不同
光照 UV 动态光照、烘焙光照和项目渲染方案要求不同
Toolbag 中文标签 5.02 的汉化来源未明确,保留中英对照

官方核对资料