> 技术文档 > unity光照烘培_unity烘焙

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 (快速创建光照友好的几何体)

 

通过合理使用光照烘焙,可在保证视觉效果的同时大幅提升游戏性能。建议在项目初期规划光照策略,优先处理静态场景,并结合混合光照模式平衡动态元素。

W1网络文学网