Marmoset Toolbag|烘焙与渲染
Marmoset Toolbag|烘焙与渲染
适用版本:Marmoset Toolbag 5.02,由坂琴写完粗稿然后交给ChatGPT优化。粗搞位于👉学习建模所记录的一些笔记 | 坂琴的小窝🍜
在游戏 PBR 管线中的职责
Toolbag 在这套流程中承担两件事:一是把高模信息稳定投射到最终低模;二是在中性灯光和展示灯光下验证 PBR 材质。烘焙是否合格要以目标引擎中的最终三角化低模为准,而不是只看 Toolbag 视口是否漂亮。
公司生产常用的完整烘焙顺序
A. 烘焙前预检
- 确认低模就是最终三角化版本,UV、平滑组、材质槽和顶点法线已经锁定。
- 确认高低模的单位、位置、比例和旋转完全一致,不能靠导入后手动对齐来掩盖源文件问题。
- 按
部件名_low、部件名_high成对命名;不同 Bake Group 的主体名不能误撞。 - 检查低模 UV:无意外重叠、足够 Padding、硬边/UV 缝关系合理。
- 确认最终引擎的切线空间与法线方向;不知道时先做一个有明确凸凹的小测试件。
B. 建立并核对 Bake Project
- 在 场景 / Scene 中添加 新建烘焙项目 / New Bake Project。
- 使用 快速加载器 / Quick Loader → 加载 / Load 导入 FBX。
- 展开每个 烘焙组 / Bake Group,逐一确认 Low 和 High;自动分组不正确时先修源命名,再重新加载。
- 暂时隐藏其他组,只看当前部件,检查高低模是否重合、是否少件、是否有错误缩放。
- 保存一个低质量测试配置,再保存最终配置,避免每次从高采样开始等待。
C. 包围框、偏斜与匹配
- 打开低模的 包围框 / Cage 显示,先让 Cage 覆盖高模最外层细节。
- Cage 太小会漏投,太大会射到邻近零件;先调全局距离,再修局部区域。
- 对狭缝、斜面、圆角交界等射线方向不理想的位置,使用 偏斜校正 / Skew 做局部修正。
- 靠得很近的零件优先拆成不同 Bake Group;不要只靠把 Cage 无限缩小解决串投。
- 需要镜像/堆叠时,按项目方法临时移开、偏移 UV 或使用匹配分组,烘焙后再验证接缝。
D. 从测试法线到正式套图
- 首轮只烘 法线 / Normal,使用低分辨率和较低采样。
- 在低模预览材质上放大检查:硬边黑缝、波浪、接缝、梯度、漏投、穿帮和左右凹凸方向。
- 问题修复顺序:低模拓扑/三角化 → 平滑与 UV → 高低模位置 → Bake Group → Cage/Skew → 采样。
- 法线通过后再烘 AO、曲率、厚度、位置、ID 等项目需要的图。
- 最后提高目标分辨率和采样,按最终纹理尺寸设置 Padding;记录设置,便于资产返修时复现。
- 把输出导入 Painter 后,检查纹理集和 Mesh Maps 是否一一对应,再开始正式材质制作。
💡 采样 32、2K Padding 4 px、4K Padding 8 px是原课程参考起点,不是“公司统一标准”。目标平台、贴图压缩、Mipmap 和资产观察距离才决定最终参数。
Part A|高低模烘焙
1. 在 3ds Max 中准备模型
高低模命名
“快速加载器 / Quick Loader”会根据名称识别高模与低模:
- a_low:低模;
- a_high:高模;
- bolt_low / bolt_high:另一组对应部件。
关键不是字母 a,而是相同的对象主体名 + _low / _high 后缀。例如 body_low 应与 body_high 配对,不能让不相关对象共用同一主体名。
材质分配
原笔记要求给高低模分别指定名为 low 和 high 的不同颜色材质。整理后需要分开理解:
- “快速加载器 / Quick Loader”的高低模自动分组主要依赖对象命名,不要求材质必须叫 low/high。
- 不同颜色材质可以用于检查、材质 ID / Material ID 或区分纹理集 / Texture Set,但这是项目策略,不是高低模识别的必要条件。
✅ 修正:不要把“材质命名”和“高低模对象命名”混成同一个规则。
FBX 导出检查
- 导出 Autodesk FBX。
- 导出低模的平滑组。
- 根据目标切线工作流决定是否导出“切线和副法线 / Tangents and Binormals”。
- 如果高模在 3ds Max 中使用“涡轮平滑 / TurboSmooth”,确认导出时究竟是应用修改器结果,还是准备在 Toolbag 中细分;不要两边都加导致面数翻倍。
- 保证高低模处在一致的位置、比例和坐标空间。
2. 新建烘焙项目 / Bake Project
- 在“场景 / Scene”中添加“新建烘焙项目 / New Bake Project”。
- 在烘焙项目下使用“快速加载器 / Quick Loader → 加载 / Load”导入刚导出的 FBX。
- 检查每个“烘焙组 / Bake Group”中的“低模 / Low”与“高模 / High”是否正确配对。
- 检查低模的“包围框 / Cage”和“偏移 / Offset”,避免射线穿到邻近部件。
- 必要时给高模增加细分,但不要重复细分。
3. 法线与切线空间
| 设置 | 含义 |
|---|---|
| 切线空间 / Tangent Space | 选择目标渲染器或引擎的切线空间约定。 |
| 切线计算 / Tangent Calculation | 决定切线在顶点还是像素层面计算。 |
| 切线方向 / Tangent Orientation | 决定 Y 方向;右手系通常称 Maya/OpenGL,左手系通常称 3ds Max/Direct3D。 |
最稳妥的做法:用与最终展示/引擎一致的切线空间完成烘焙和渲染。 如果凹槽看起来像凸起,优先检查绿色通道方向,而不是重新乱调灯光。
4. 输出设置
原笔记的参考值:
- 采样 / Samples:32;
- 扩边 / Padding:自定义 / Custom;
- 2048 贴图的扩边大小 / Padding Size 使用 4 px;
- 4096 贴图的扩边大小 / Padding Size 使用 8 px;
- 格式 / Format:TGA。
这些值可以作为课程练习起点,但不是固定标准:
- 分辨率翻倍时 Padding 也翻倍,可以保持近似的相对边距,这是合理思路。
- 采样 / Samples 越高通常越干净,但耗时也会增加,应先低采样测试再提高。
- TGA 不是唯一正确格式;PNG、TIFF、PSD 等要按位深、Alpha 和项目管线选择。
5. 先测试法线,再烘完整套图
推荐顺序:
- 先只开“法线 / Normal”。
- 快速烘焙并放大检查接缝、波浪、穿帮和硬边。
- 调整“包围框 / Cage”“倾斜校正 / Skew”、平滑或分组。
- 法线没有明显问题后,再开:
- 曲率 / Curvature;
- 环境光遮蔽 / Ambient Occlusion(AO);
- 其他项目需要的图。
- 点击“开始 / Start”进行正式烘焙。
- 使用“预览材质 / Preview Material”在低模上检查结果。
Part B|材质预览与最终渲染
1. 导入模型与贴图
- 使用“导入模型 / Import Model”导入低模。
- 在材质列表中选中对应材质。
- 按贴图语义连接,而不是只凭文件名拖入。
| Painter 输出 | Toolbag 中的用途 | 注意 |
|---|---|---|
| 基础颜色 / Base Color | 反照率或基础颜色 / Albedo or Base Color | 通常按 sRGB 颜色数据读取。 |
| 法线 / Normal | 法线/凹凸 / Normal/Bump 输入 | “表面 / Surface”不是“法线”的同义词;具体槽位名称以 5.02 为准。 |
| 粗糙度 / Roughness | 微表面 / Microsurface → 粗糙度 / Roughness | 黑色偏光滑,白色偏粗糙。 |
| 金属度 / Metallic | 反射率 / Reflectivity → 金属度 / Metalness | 不是“粗糙度 / Roughness”或“微表面 / Microsurface”本身。 |
| 环境光遮蔽 / AO | 遮蔽 / Occlusion | 若来自混合贴图,选择正确的 R/G/B 通道。 |
| 不透明度 / Opacity | 透明 / Transparency 或 Alpha | 选择“镂空 / Cutout”还是半透明取决于材质类型。 |
贴图读取还要区分颜色与数据:Base Color/Emissive 通常按 sRGB;Normal、Roughness、Metallic、AO、Height 和通道打包图通常按线性数据读取。 若项目材质预设已经自动处理,仍要检查结果而不是重复手动转换。
✅ 修正:之前把“金属度 / Metalness”也归到“微表面 / Microsurface”。更清晰的理解是“粗糙度 / Roughness”控制微表面粗糙度,而金属度属于反射/金属度模型。
2. 混合贴图的通道选择
如果 Painter 输出一张 Mix 图,例如:
- R = Roughness;
- G = Metallic;
- B = AO;
那么在 Toolbag 的各个槽位中都导入同一张 Mix 图,但分别指定 R、G、B 通道。通道顺序只是项目约定,必须以输出模板为准,不能想当然。
3. 法线的反转 Y / Flip Y
原笔记写的是“DX11 法线在八猴里要勾 Flip Y”。更安全的判断方式是:
- 先确认导出图是 DirectX(Y-)还是 OpenGL(Y+)。
- 确认 Toolbag 当前材质/项目采用的方向。
- 只有两者不匹配时才启用“反转 Y / Flip Y”。
- 用明确的凹槽/凸点和移动灯光来验证。
⚠️ 不要把“反转 Y / Flip Y”当成每次导入都必须勾选的固定动作。
4. HDR 环境光
- 在“场景 / Scene”中选中“天空 / Sky”。
- 在“来源 / Source → 资源库 / Library”中选择 HDR 环境。
- 旋转环境光,观察高光是否把材质形体讲清楚。
- 材质检查阶段优先使用中性 HDR;最终出图再追求气氛。
5. 相机与出图
- 在“场景 / Scene”中选择“新建相机 / New Camera”,或设置“主相机 / Main Camera”后复制多个机位。
- 调整构图、焦距、景深和模型占画面比例。
- 在“渲染 / Render”中,把需要出图的相机加入“渲染相机 / Render Cameras”。
- 设置输出分辨率、路径和文件格式。
- 建议“采样 / Samples”设为 512 或 1024,可作为高质量出图参考;最终仍要根据噪点、分辨率、灯光复杂度和耗时决定。
- 点击“渲染图像 / Render Image”。
常见问题
| 现象 | 优先检查 |
|---|---|
| 凹凸反了 | Normal 的 Y 方向、Flip Y、导出格式。 |
| 硬边出现黑缝 | 低模平滑、UV 缝、切线空间和三角化是否一致。 |
| AO 穿帮 | 烘焙组 / Bake Group 隔离、包围框 / Cage、搜索距离 / Search Distance、邻近零件。 |
| 边缘漏烘 | 包围框 / Cage 覆盖、扩边 / Padding、UV 越界和高低模位置。 |
| 材质像塑料 | Roughness、Metalness、颜色空间和 HDR 是否合理。 |
| 通道完全不对 | Painter 输出模板与 Toolbag 通道选择是否一致。 |
交给 Painter 或引擎前的阶段门
- [ ] 高低模分组与名称匹配正确,没有零件串投。
- [ ] 最终三角化低模、UV、平滑组与目标引擎版本一致。
- [ ] Normal 已单独测试,硬边、接缝、Cage 和 Skew 问题已处理。
- [ ] AO/Curvature 等辅助图没有明显穿帮,且不是靠涂抹掩盖几何错误。
- [ ] 法线 Y 方向与目标管线一致;Flip Y 不是无条件勾选。
- [ ] 分辨率、位深、格式、采样和 Padding 符合当前项目要求。
- [ ] 导入 Painter 后 Mesh Maps 对应正确;导入引擎后没有新的法线接缝。
- [ ] 中性 HDR 下材质成立,展示灯光没有掩盖粗糙度或法线问题。
复习
- 命名:主体名一致,后缀用 _low / _high。
- 第一次只烘 Normal,先查错。
- “切线空间 / Tangent Space”要与最终引擎一致。
- “粗糙度 / Roughness”在“微表面 / Microsurface”;“金属度 / Metalness”在“反射率 / Reflectivity”。
- “反转 Y / Flip Y”只在方向不匹配时使用。
- 扩边 / Padding、采样 / Samples、格式都按项目和测试结果决定。





