unity光照烘培_unity烘焙
以下是关于Unity光照烘焙(Light Baking)的详细解析,涵盖核心概念、操作流程、优化技巧及常见问题解决方案:
一、光照烘焙基础概念
1. 定义
- 光照烘焙是将场景中的光照信息(如颜色、强度、阴影)预先计算并存储为纹理(光照贴图)的过程。
- 作用:减少运行时计算量,提升性能,同时实现高质量静态光照效果。
2. 核心术语
- 光照贴图(Lightmap):存储烘焙后光照信息的2D纹理。
- 实时光照(Realtime Lighting):运行时动态计算的光照(如移动光源)。
- 混合光照(Mixed Lighting):结合实时与烘焙光照的模式。
二、光照烘焙模式选择
表格
模式 适用场景 特点
Progressive(默认) 复杂场景 分阶段烘焙,支持实时预览
Legacy 简单场景/旧项目 传统烘焙方式,速度较快
GPU Lightmapper 高分辨率/复杂光照 利用GPU加速烘焙
三、光照烘焙操作流程
1. 准备场景
- 标记静态物体:勾选 Lightmap Static (需烘焙的物体)和 Occludee Static (影响遮挡的物体)。
- 设置光源:将光源模式设为 Baked (完全烘焙)或 Mixed (部分实时)。
2. 配置光照设置
打开 Window → Rendering → Lighting → Settings :
- Lightmap Parameters:
- Resolution:光照贴图分辨率(推荐:5-20 texels/unit)。
- Compression:选择压缩格式(如ASTC,减少内存占用)。
- Lightmap Padding:避免UV接缝处颜色溢出。
- Environment Lighting:设置天空盒、环境光颜色和反射探针。
3. 执行烘焙
- 开始烘焙:点击 Bake 按钮(Progressive模式支持中途停止)。
- 优化建议:
- 关闭不必要的光源(如烘焙后禁用 Realtime 光源)。
- 使用 Lightmap Resolution 工具调整局部分辨率。
4. 结果验证
- 检查光照贴图:在 Lightmap 面板查看生成的纹理。
- 修复问题:
- 黑斑/接缝:调整UV展开或增加 Lightmap Padding 。
- 过曝/过暗:修改光源强度或环境光设置。
四、混合光照与动态物体
1. 混合光照模式
- Shadowmask:烘焙静态物体阴影,动态物体接收实时阴影。
- Distance Shadowmask:根据距离切换阴影模式(优化性能)。
- Subtractive:部分光源实时,其他烘焙(适用于局部动态光照)。
2. 动态物体处理
- 反射探针(Reflection Probe):捕获静态环境反射,动态物体使用烘焙反射。
- Realtime GI:启用实时全局光照(需高端硬件支持)。
五、性能优化技巧
1. 降低内存占用:
- 使用压缩格式(ASTC),避免高分辨率光照贴图。
- 合并相似物体的光照贴图(通过 Lightmap Parameters 的 Packed Lightmaps )。
2. 减少烘焙时间:
- 简化场景复杂度(移除不可见物体)。
- 使用 Lightmap Resolution 工具局部调整分辨率。
3. 移动端优化:
- 关闭 Directional Light 的 Bake Shadows 。
- 优先使用 Shadowmask 模式而非 Realtime GI 。
- 插件推荐:
- Lightmap Resolution Tool (自动优化局部光照贴图分辨率)
- ProBuilder (快速创建光照友好的几何体)
通过合理使用光照烘焙,可在保证视觉效果的同时大幅提升游戏性能。建议在项目初期规划光照策略,优先处理静态场景,并结合混合光照模式平衡动态元素。