烘焙:把昂贵计算变成可交付数据
Bake/烘焙意味着预先求出某种计算结果,再把它存成后续能直接使用的数据。“烘焙一下”不够具体,必须说明烘焙什么、到什么格式。
三种常见含义
| 类型 | 输入 | 结果 | 用途 |
|---|---|---|---|
| 贴图烘焙 | 材质、高低模、光照等 | 颜色、法线、AO 等图片 | 简化材质或把高模细节转给低模 |
| 动画烘焙 | 约束、IK、程序计算的姿态 | 采样后的变换关键帧 | 让引擎不依赖制作端控制器 |
| 模拟缓存 | 物理或其他模拟 | 缓存、网格序列等 | 保持制作端重放稳定,或转换为交付格式 |
缓存文件能在 Blender 里重放,不代表 Cocos 能直接读取;仍需定义交换资源。
高模到低模法线烘焙
高模表达细小形状,低模保留轮廓和可接受的几何成本。烘焙把高模表面方向差异编码到低模法线贴图,运行时通过着色模拟细节。
它无法让低模侧面轮廓真的鼓起来,也不会自动生成正确碰撞。投射距离、Cage、UV、切线空间与硬边都可能影响结果。
程序纹理的交付
如果材质依赖 Blender 程序节点,可以把需要的颜色或表面数据输出到图片。先为目标网格建立 UV 和目标 Image Texture,明确所烘焙的通道、渲染器、图像尺寸与保存路径。
不要把灯光和阴影不加区分地烘焙进 Base Color:固定光照可能适合 2D 图标,却会让实时动态光照模型出现“双重阴影”。应明确你是在制作无光照图像,还是可重新打光的 PBR 资源。
一次可靠的烘焙任务
把该程序材质转换成可供 glTF/Cocos 使用的贴图。
先列出需要烘焙的通道、UV要求、色彩空间、图像格式和尺寸。
保留程序材质源工程,另存烘焙结果并检查外部文件引用。
请在中性灯光下比较烘焙前后,并说明无法保留的效果。
验收时从磁盘重新加载图片,防止只保存在 Blender 内存。检查 UV 接缝、边距、缺失区域以及缩小后的采样。动画烘焙另见动画与导出。
官方阅读:Cycles Render Baking。