游戏 PBR 资产制作流程
游戏 PBR 资产制作流程|从需求到引擎交付
版本基线:3ds Max 2024.2、RizomUV 2020、Marmoset Toolbag 5.02、Substance 3D Painter v10.0.1、ZBrush 2023.1.1。本文整理的是游戏美术岗位常见的通用流程;三角面预算、纹素密度、贴图规格、命名和通道打包必须以具体公司与项目规范为准。粗搞位于👉学习建模所记录的一些笔记 | 坂琴的小窝🍜
1. 先理解:公司要的不是“一个好看的模型”
游戏资产必须同时满足四类要求:
- 美术正确:比例、轮廓、材质和磨损逻辑成立。
- 技术正确:拓扑、UV、法线、切线空间、LOD、碰撞和导出设置正确。
- 性能可控:三角面、材质槽、纹理数量、分辨率和透明度开销符合目标平台。
- 可维护:命名、目录、版本、源文件和交付说明让其他人能继续工作。
因此,完整流程不是“建模 → 贴图 → 出图”,而是:
需求确认 → 参考与材质拆解 → 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 每种材质先回答五个问题
- 它是金属还是非金属?
- 表面是否有涂层?磨损后露出的是什么?
- 粗糙度变化由什么造成:抛光、油污、灰尘、腐蚀还是水?
- 哪些细节属于几何,哪些属于法线或高度?
- 污渍为什么在这里出现:重力、手部接触、边缘碰撞还是积水?
5. 阶段 2:3ds Max Blockout
详细操作见:3ds Max|建模与视口操作。
5.1 操作顺序
- 设置系统单位和显示单位,记录真实尺寸。
- 在世界原点附近建立灰模,先处理整体比例和占地尺寸。
- 按功能拆分部件:主体、活动件、可重复件、碰撞体、未来 LOD。
- 设置临时材质颜色,帮助区分结构,不在此阶段做最终材质。
- 把 Pivot 放到实际使用位置,例如门轴、轮轴或模块角点。
- 导入引擎做第一次尺度测试,而不是完成后才第一次导入。
5.2 Blockout 评审门
- [ ] 放进游戏场景后尺寸正确。
- [ ] 主视角轮廓与概念图一致。
- [ ] 活动件轴心正确。
- [ ] 模块拼接没有缝隙或重叠。
- [ ] 已决定哪些细节做几何、哪些烘焙进贴图。
6. 阶段 3:高模制作
详细操作见:ZBrush|基础操作与模型管理。
6.1 形体优先级
- 大形:轮廓、比例、主要体块。
- 中形:面板分割、焊缝、倒角、破损区域。
- 小形:木纤维、划痕、毛孔、锤击纹。
- 微细节:只添加在最终像素密度能显示的位置。
6.2 高模常见公司要求
- 倒角宽度在目标观看距离下可读,不要只追求现实中的极窄边。
- 不允许依靠随机噪声掩盖错误的大形。
- 浮动几何要避免互相穿插造成烘焙污染。
- 高模与低模保持相同世界位置、比例和对象分组逻辑。
- 保存可编辑源文件;若为烘焙制作减面副本,不覆盖原高模。
6.3 高模评审门
- [ ] 纯色材质、无贴图时形体仍然成立。
- [ ] 不同角度轮廓自然。
- [ ] 大、中、小细节层级清楚。
- [ ] 没有对称复制留下的不合理重复痕迹。
- [ ] 可按对象名与低模一一对应。
7. 阶段 4:低模、拓扑与三角化
7.1 低模原则
- 面数优先用在轮廓、关节、变形区和明显高光转折。
- 平面内部看不出轮廓变化的边,应判断是否可以删除。
- 不为“全四边面”牺牲游戏运行效率;最终渲染是三角形。
- 细长三角形、重叠面、非流形、零面积面和孤立顶点必须清理。
- 静态道具可以使用三角面;动画模型必须额外考虑变形流线。
7.2 为什么要在烘焙前固定三角化
同一个四边面在不同软件中可能沿不同方向拆成三角形,导致顶点法线和法线贴图不匹配。推荐:
- 在 DCC 中保存一份可编辑四边面源文件。
- 复制出导出版本。
- 在导出版本上固定三角化。
- 使用同一份三角化低模完成烘焙、Painter 和引擎导入。
7.3 材质槽
材质槽越多,通常意味着更多 Draw Calls。是否拆分材质应同时考虑:
- 贴图分辨率是否足够;
- Shader 是否不同,例如不透明、透明、发光;
- 是否需要独立换装或染色;
- 资产是否会被合批或实例化。
8. 阶段 5:UV
详细操作见:RizomUV|展开与缝合。
8.1 UV0 操作顺序
- 导入最终三角化策略已经确定的低模。
- 先按结构和硬边规划接缝。
- 使用 C 切缝。
- 使用 U 展开。
- 使用 O 优化并检查棋盘格拉伸。
- 拉直需要保持方向的硬表面边。
- 统一或按重要度分配纹素密度。
- 处理允许的镜像、堆叠和重复件。
- 设置与目标分辨率对应的像素间距。
- 使用 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 烘焙顺序
- 在低分辨率、低采样下只烘焙法线。
- 检查接缝、波浪、黑边、投射到邻件和漏烘。
- 调整包围框 / Cage、偏移、倾斜校正或烘焙组。
- 法线通过后,再烘焙 AO、Curvature、Position、Thickness、ID 等。
- 提高到最终分辨率和合理采样。
- 把烘焙器、版本、切线空间和参数记录在交付说明中。
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 贴图分层顺序
- 基础材质层:真实材质的 Base Color、Metallic、Roughness。
- 大尺度变化:上下、内外、日晒、潮湿和主要使用区域。
- 结构层:接缝、焊缝、面板缝、凹陷和凸起。
- 使用痕迹:边缘磨损、手部接触、脚踩、刮擦。
- 环境痕迹:灰尘、泥、锈、油、水渍。
- 微细节:颗粒、木纤维、细划痕;控制强度。
- 校验层:检查颜色、粗糙度、金属度和法线单通道。
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 导出
- 只选择需要交付的低模、LOD、骨骼或碰撞体。
- 确认单位、轴向、Pivot、位置、旋转和缩放。
- 导出平滑组;切线/副法线是否导出由项目切线流程决定。
- 使用与烘焙一致的三角化低模。
- 关闭不需要的相机、灯光、动画和嵌入媒体。
- 将 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 | Asset_Name/ |
建议源文件递增保存,例如 asset_hp_v001.ztl、asset_lp_v003.max,不要长期覆盖唯一文件。
16. 最容易导致返工的问题
- 完成建模后才第一次导入引擎检查尺度。
- 烘焙后又改变低模三角化、硬边或 UV。
- 不确认法线方向,见到凹凸反了就随手 Flip Y。
- 把 AO、高光和灯光重度画进 Base Color。
- 只在 Painter 或 Toolbag 中好看,没有在目标引擎验证。
- 用“公司都这样”代替具体任务卡数值。
- 只有最终文件,没有可回退的源文件与版本记录。
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 的汉化来源未明确,保留中英对照 |





