
快速结论
先烘焙细节,再验证着色器。
在 Blender 中烘焙法线贴图,需要为低模准备不重叠的 UV,让高模和低模处于同一位置,先选高模再最后选低模,创建空白图片和 Image Texture 节点,启用 Selected to Active,设置较小的 Ray Distance 或自定义 Cage,然后以 Tangent 空间烘焙 Normal。保存图片后将 Color Space 设为 Non-Color,通过 Normal Map 节点连接 Principled BSDF。最终应在光照材质中判断结果,而不是只看紫色图片。
烘焙会把高模表面方向转换为低模可用的 RGB 数据,但它无法修复拉伸 UV、错误笼罩体或不一致的切线空间。保留源工程和高度/雕刻素材,方便在目标尺度变化时重新烘焙。
开始之前
先做五项检查,通常比重复烘焙更快。
在两个物体上应用变换,确认低模 UV 可读,清理重复面并明确材质归属。为目标摄像机距离创建足够分辨率的图片。高模浮空、穿插或隐藏重叠都可能在低模表面产生黑边。
分步骤工作流
在 Blender 中烘焙法线贴图并保持切线空间一致。
1. 准备并命名两个模型
让高模和优化后的低模处于相同物体空间。应用缩放和旋转,检查法线,清除隐藏穿插,并使用明确名称,例如 Chair_High 和 Chair_Low。高模零件穿过低模表面时,射线可能命中错误面并产生黑边。
- 在两个物体上应用变换。
- 统一平滑和硬边策略。
- 隐藏不相关的烘焙对象。
2. 展开低模 UV
最终 UV 只需要在低模上准备。在不显眼的位置标记接缝并展开,按最终留白要求分开岛。镜像 UV 要有意识地使用,否则独特细节会在烘焙时互相覆盖。
- 使用棋盘格检查拉伸。
- 让岛间留白能撑过最终 Mip。
- 使用材质实际渲染的 UV。
3. 创建目标图片和节点
在低模材质中添加 Image Texture 节点,创建所需分辨率和位深的空白图片。烘焙时保持该节点为活动节点,Blender 会把当前通道写入活动图片。
- 工作图片优先使用无损格式。
- 只有流程需要时才选择 16 位。
- 每个 UV 集或通道准备独立目标图片。
4. 从高模选到低模并设置射线
在 Bake 面板启用 Selected to Active。先选高模,再按 Shift 最后选低模,使低模成为活动对象。Ray Distance 应相对网格尺度从小值开始;薄片、凹面或零件密集时使用自定义 Cage 更稳。
- 典型游戏材质使用 Tangent 空间 Normal。
- 射线容易命中邻近面时使用 Cage。
- 逐步增加距离,不要一次猜很大的值。
5. 烘焙、检查并只修一个原因
烘焙 Normal 通道后,把图片加载到低模并旋转明确的主光。检查波纹、黑边、缺失凹槽和反向细节。细节缺失时先查 Cage 和 Ray Distance,再改变 Strength。
- 用中性灰材质比较结果。
- 检查正面光、掠射光和背光。
- 记录每次参数变化。
6. 保存并连接最终着色器
把图片保存到项目并设置为 Non-Color。将 Image Texture Color 连接到 Normal Map,再连接到 Principled BSDF Normal。保持 Blender 和目标渲染器的 OpenGL 或 DirectX 约定一致;需要反转绿色通道时要明确记录。
- 法线与颜色使用同一个 UV 和 Mapping 尺度。
- Normal Map Strength 从 1.000 开始。
- 把图片和 blend 文件一起打包或版本管理。
烘焙质量笔记
让不同素材和渲染器都能复用同一套检查方法。
Cage 不只是把 Ray Distance 调大,而是围绕低模表面建立一层可控的投射包络。这样每条射线会落到对应的高模区域,而不是旁边的面板或内部面。薄壁、叠层零件和凹角较多的模型更适合使用自定义 Cage。先在正交视图检查包络,再保持它足够贴近表面以避免光晕。
切线基也是烘焙结果的一部分。图片编辑器里的紫色看起来正确,并不代表最终着色一定正确;低模的平滑方式、硬边、UV 切缝或渲染器约定不同,都可能改变方向。烘焙到导出要使用同一张 UV、同一套切线设置,并在正面光和掠射光下对比,再决定是否需要调整强度。
正式烘焙前先做一个小测试素材。一个带倒角、凹槽、硬边和 UV 接缝的方块,通常就能暴露大多数投射问题。用目标位深烘焙,检查最终 Mip 或压缩预览,再按成品模型的实际尺寸观察材质。这样可以区分投射错误与分辨率不足,而不用反复烘焙整套资产。
交接文件时,把图片和 blend 工程放在一起,并在文件名或项目记录中写出素材名、通道、分辨率和切线约定。还要记录输出使用 OpenGL 还是 DirectX、哪张 UV 负责采样、是否使用自定义 Cage。若缺少这些信息,正确的烘焙结果也可能在导入时被错误地反转绿色通道。
当低模拓扑、UV、物体尺度或目标渲染器发生变化时,应重新烘焙。不要用更高的法线强度去掩盖轮廓变化。保留高模、Cage、烘焙设置和最终图片,下一位美术就能复现结果,并把新旧烘焙放在同一灯光下比较。

推荐设置
从保守值开始,再在光照下调整。
以下是实用起始值,不是所有项目都必须照搬。Blender 版本、网格尺度、渲染器、图片分辨率和目标引擎都会影响选择。一次只改一个变量,便于定位 UV、笼罩体还是材质造成的问题。
| 设置 | 起始值 | 作用 |
|---|---|---|
| 烘焙通道 | Normal · Tangent | 按低模使用的切线基准保存方向数据。 |
| Selected to Active | 开启 | 把选中的高模细节投射到活动低模。 |
| Ray Distance | 相对网格尺度的小值 | 太小会漏细节,太大会命中邻近面并产生光晕。 |
| Cage | 薄面或密集零件使用 | 自定义外壳比盲目距离更能控制射线投射。 |
| Margin | 能撑过最终 Mip 的留白 | 减少过滤后背景色渗入 UV 边缘。 |
| Color Space | 烘焙后设为 Non-Color | 法线 RGB 是向量数据,不应经过显示颜色变换。 |
问题排查
先按症状排查,不要直接提高 Strength。
UV 岛边出现黑缝或暗边。+
可能原因: Ray Distance/Cage 命中了无关几何,或 Margin 太小。
解决方法: 收紧 Cage、隐藏邻近零件、增加 UV 留白,并先烘焙小区域。
高模细节缺失或过于柔和。+
可能原因: Cage 没有包住源模型、目标图片未激活或低模 UV 错误。
解决方法: 依次检查 Selected to Active、活动 Image Texture、Cage 覆盖和材质使用的 UV。
最终渲染中凹槽变成凸起。+
可能原因: 绿色通道方向或烘焙与导入之间的切线基准不一致。
解决方法: 统一切线约定,测试相反 Y 方向,并在同一光照下比较。
大面积出现波浪渐变。+
可能原因: 低模平滑、硬边、UV 接缝和源拓扑的烘焙基准不一致。
解决方法: 明确平滑和硬边,在必要处增加支撑几何,并使用匹配的 UV 分割重新烘焙。
图片看起来紫色但材质没有效果。+
可能原因: 图片按颜色数据处理或直接连到了 Base Color。
解决方法: 设为 Non-Color,经由 Normal Map 节点连接到 Principled BSDF Normal。
Blender 烘焙法线贴图常见问题
在 Blender 中烘焙法线贴图一定需要高模吗?+
不一定。高模到低模烘焙最适合可控地转移雕刻细节;没有高模时,也可以把灰度高度图或材质纹理转换为起始法线贴图。但转换器无法恢复隐藏几何,必须在目标材质中验证。
Blender 法线贴图应该使用多大分辨率?+
根据可见细节、UV 占比和最终摄像机距离选择。近景资产可以从 2K 开始,重复或远景材质通常可以更低。应检查最终 Mip 和平台压缩,而不是默认选择最大图片。
为什么 Blender 烘焙法线贴图会有接缝?+
常见原因是 UV 留白不足、硬边与 UV 分割不匹配、Cage 太松或射线命中了邻近几何。先检查小范围、收紧 Cage、增加 Margin,再确认低模平滑策略。
Blender 法线贴图需要设置为 Non-Color 吗?+
需要。法线贴图 RGB 保存的是向量方向,不是显示颜色。把 Image Texture 设为 Non-Color,再经过 Normal Map 节点连接到 Principled BSDF Normal。
Blender 应使用 OpenGL 还是 DirectX 法线贴图?+
使用渲染器和资产管线约定的方向。Blender 常见 OpenGL Y 方向,而部分游戏管线使用 DirectX 风格绿色通道。请在相同光照下测试并记录有意的 Y 反转。
总结
稳定的 Blender 法线贴图烘焙依赖干净的高模和低模、已应用的变换、明确的低模 UV、命名好的目标图片、合适的笼罩体或射线距离,以及把结果当作 Non-Color 向量数据处理的着色器。如果结果不对,先用相同光照、UV 尺度和切线空间约定比较,再修改源雕刻。没有高模时,可以先使用高度图转换器,再在材质中验证 PNG。
官方参考
Blender 官方手册:烘焙查看当前 Blender 版本中的 Bake、Selected to Active、Cage 和通道设置。