目录一、前言为什么游戏项目必须用GI烘焙二、GI核心底层原理实时光照 vs 全局光照2.1 光照的两大组成部分2.2 光照烘焙的本质2.3 静态/动态物体GI适配规则三、Unity三大GI烘焙模式深度解析核心重点3.1 Baked GI纯烘焙全局光照3.2 Realtime GI实时全局光照3.3 Mixed GI混合全局光照——项目最常用3.4 三大GI模式对比汇总表四、核心资源解析Lightmap与LightProbe4.1 Lightmap光照贴图4.2 LightProbe光照探针五、商用级GI完整烘焙流程从零落地5.1 前期场景配置5.2 Lighting窗口核心参数详解商用调参标准1. GI模式选择2. Lightmap Resolution光照贴图分辨率3. Indirect Intensity间接光强度4. Lightmap Size贴图最大尺寸5. Compress Lightmaps贴图压缩5.3 烘焙执行与校验六、C#代码动态控制GI烘焙与光影实战源码6.1 GI烘焙全局控制工具类6.2 运行时光影动态调节脚本6.3 代码使用说明七、GI烘焙高频问题与商用级避坑方案7.1 烘焙后场景闪烁、黑斑、光影断层7.2 打包后场景变黑、光影丢失7.3 动态物体光影突兀、与场景脱节7.4 烘焙耗时过长、卡顿严重7.5 URP管线烘焙后光影异常八、项目落地性能优化规范商用标准8.1 贴图资源优化8.2 烘焙规则规范8.3 探针布置规范九、GI烘焙进阶搭配PBR打造超写实画面十、总结一、前言为什么游戏项目必须用GI烘焙在Unity实时渲染中默认的实时光照仅计算光源直接照射的直接光完全忽略光线在场景中的反弹、漫反射、环境光叠加最终画面会出现阴影死黑、物体悬空、场景层次感缺失、写实质感极差等问题。GIGlobal Illumination全局光照是模拟真实物理光线传播的渲染技术核心作用是计算光线多次弹射的间接光照还原真实世界光影交互效果。而光照烘焙Light Bake是Unity离线GI的核心落地方案也是手游、端游、写实场景、静态场景的工业级性能最优解。很多开发者对GI烘焙的认知仅停留在“点击Bake按钮出光影”的表层不懂原理、乱调参数、不会代码控制最终导致项目出现烘焙闪烁、贴图溢出、光影断层、打包黑图、动态物体无光影、帧率过低等疑难问题。本文将结合Unity官方管线规范、物理光照原理、全模式实战、源码级参数解析、C#动态控制、项目落地避坑从零彻底吃透GI光照烘焙覆盖URP/内置管线全场景零基础也能掌握商用级烘焙方案。二、GI核心底层原理实时光照 vs 全局光照2.1 光照的两大组成部分真实世界的物体受光由两类光线共同构成这是GI技术的核心理论依据直接光Direct Light光源直接照射到物体表面的光线计算简单、对比度高、光影边界清晰实时光照可直接计算。间接光Indirect Light光线照射地面、墙面、物体后发生多次反射、折射、漫射产生的二次、三次弹射光线决定场景通透感、层次感、真实氛围感。普通实时光照只算直接光无间接光 → 画面僵硬、死黑GI全局光照直接光多次间接光叠加 → 画面物理正确、质感真实2.2 光照烘焙的本质实时计算光线多次弹射的GI开销极大移动端完全无法承载。因此Unity引入离线烘焙方案在编辑模式下预计算场景静态物体的直接光、间接光、阴影信息将所有光照数据压缩存储到Lightmap光照贴图、LightProbe光照探针中运行时直接采样贴图数据零实时GI计算开销。简单概括离线预计算运行时零消耗以空间换性能是写实游戏性能优化的核心手段。2.3 静态/动态物体GI适配规则GI烘焙仅针对静态场景优化动态物体无法烘焙Unity通过两套方案适配全场景静态物体Lightmap Static光照、阴影烘焙进Lightmap运行时无光照计算极致高性能。动态物体无法烘焙通过LightProbe光照探针采样场景烘焙的间接光照实现动态物体融入静态场景光影。三、Unity三大GI烘焙模式深度解析核心重点Unity提供三种GI工作模式分别适配不同项目场景90%的项目烘焙异常都是模式选择错误导致务必精准区分。3.1 Baked GI纯烘焙全局光照核心特性所有静态物体的直接光、间接光、阴影全部离线烘焙运行时完全不计算实时间接光照。光照规则静态物体完全使用烘焙光影不响应实时灯光变化动态物体仅实时直接光间接光由光照探针提供灯光模式必须设置为Baked。优缺点性能极致最优、帧率最稳缺点是灯光、场景静态物体运行时无法动态变化。适用场景手游静态关卡、室内场景、固定天气、无动态光影变化的写实场景。3.2 Realtime GI实时全局光照核心特性仅实时计算间接光照直接光仍为实时计算无需烘焙实时更新光线弹射效果。光照规则支持灯光颜色、强度、角度实时变化间接光实时联动更新无需手动烘焙场景光影自适应动态变化。优缺点支持动态光影画面动态真实缺点是CPU/GPU开销极高移动端基本无法使用仅适配高端PC项目。适用场景高端PC动态天气场景、昼夜交替场景、光影实时变化的写实场景。3.3 Mixed GI混合全局光照——项目最常用核心特性结合Baked与Realtime优势Unity商用项目默认首选方案。主流子模式Indirect Only间接光烘焙直接光实时计算、间接光离线烘焙。既保留了灯光动态变化能力又大幅降低实时GI开销。光照规则直接光实时计算支持灯光动态变色、变强度、移动间接光预烘焙进Lightmap运行时零开销静态、动态物体光影融合效果最佳。适用场景绝大多数手游、端游写实项目、需要轻微灯光动态变化的场景。3.4 三大GI模式对比汇总表GI模式直接光间接光运行性能动态灯光支持项目推荐度Baked GI烘焙烘焙极致优秀不支持静态场景首选Realtime GI实时实时极差完全支持极少使用Mixed GI实时烘焙优秀支持通用项目首选四、核心资源解析Lightmap与LightProbe4.1 Lightmap光照贴图Lightmap是GI烘焙的核心载体是存储场景静态物体光照与阴影信息的纹理贴图。模型UV展开后烘焙系统将每一处表面的光照颜色、阴影强度、反弹光信息写入贴图运行时模型直接采样贴图显示光影。核心特点仅作用于标记Lightmap Static的静态网格物体一张贴图存储整个场景的静态光影数据不占用实时计算资源仅占用贴图显存。4.2 LightProbe光照探针Lightmap无法作用于动态物体Unity通过光照探针点阵解决动态物体间接光照问题。烘焙时系统计算探针位置的光影数据运行时动态物体根据自身位置插值采样周边探针光影实现动态物体融入静态场景。核心作用解决动态物体、骨骼模型、粒子的间接光照缺失、光影脱节问题。五、商用级GI完整烘焙流程从零落地5.1 前期场景配置物体静态标记场景地形、建筑、道具、墙体等静止物体勾选Lightmap Static动态角色、移动道具不勾选。灯光模式配置静态灯光设为Baked需要动态变化的灯光设为Mixed禁用多余实时光灯。模型UV检查确保模型具备第二套UVLightmap UV无重叠、无拉伸否则烘焙出现闪烁、黑斑。5.2 Lighting窗口核心参数详解商用调参标准Window → Rendering → Lighting打开烘焙面板核心参数逐一解析1. GI模式选择日常项目优先选择MixedIndirect Only纯静态场景选择Baked。2. Lightmap Resolution光照贴图分辨率核心画质参数单位像素/米数值越高光影越精细贴图体积越大。手游10-20端游20-40高精度特写场景40-60。3. Indirect Intensity间接光强度控制光线反弹亮度默认1场景偏暗可调至1.2-1.5过大会出现曝光失真。4. Lightmap Size贴图最大尺寸可选2048/4096场景越大需要的贴图尺寸越大避免贴图分块过多导致断层。5. Compress Lightmaps贴图压缩移动端必须开启大幅减少包体与显存占用画质损耗极低。5.3 烘焙执行与校验取消Auto Generate手动点击Bake Lighting烘焙完成后查看Lighting文件夹下的Lightmap贴图运行场景校验静态物体光影稳定、无闪烁动态物体通过探针承接间接光。六、C#代码动态控制GI烘焙与光影实战源码项目开发中常需要代码控制烘焙、开关GI、刷新探针、动态调整光影参数以下为可直接商用的C#工具类适配全Unity版本。6.1 GI烘焙全局控制工具类using UnityEngine; using UnityEditor; /// summary /// GI光照烘焙代码控制工具 /// 支持手动烘焙、取消烘焙、清空烘焙数据、刷新光照探针 /// 仅编辑器生效打包后自动失效 /// /summary public static class LightBakeTool { /// summary /// 开始全局光照烘焙 /// /summary [MenuItem(GI工具/开始烘焙全局光照)] public static void StartBakeGI() { // 关闭自动烘焙 Lightmapping.autoGenerate false; // 开启烘焙 if (!Lightmapping.isRunning) { Debug.Log(【GI烘焙】开始全局光照烘焙...); Lightmapping.BakeAsync(); } } /// summary /// 取消正在进行的烘焙 /// /summary [MenuItem(GI工具/取消GI烘焙)] public static void CancelBakeGI() { if (Lightmapping.isRunning) { Lightmapping.Cancel(); Debug.Log(【GI烘焙】已取消烘焙任务); } } /// summary /// 清空场景所有烘焙数据 /// /summary [MenuItem(GI工具/清空烘焙数据)] public static void ClearBakeData() { Lightmapping.Clear(); Lightmapping.ClearDiskCache(); Debug.Log(【GI烘焙】已清空所有光照烘焙缓存与贴图数据); } /// summary /// 刷新光照探针 /// 动态物体位置变化后手动刷新探针数据 /// /summary public static void RefreshLightProbes() { LightProbeUtility.RebuildProbesForScene(); } /// summary /// 设置GI间接光强度 /// /summary /// param nameintensity强度0-3/param public static void SetIndirectIntensity(float intensity) { RenderSettings.indirectIntensity Mathf.Clamp(intensity, 0, 3); } }6.2 运行时光影动态调节脚本using UnityEngine; /// summary /// 运行时GI光影动态调节 /// 适配昼夜交替、场景亮度微调需求 /// /summary public class GILightRuntimeCtrl : MonoBehaviour { [Header(全局间接光强度)] [Range(0f, 3f)] public float globalIndirectIntensity 1f; private void Update() { // 实时更新全局间接光照强度 RenderSettings.indirectIntensity globalIndirectIntensity; } /// summary /// 渐变调整GI亮度 /// /summary public void GradualAdjustGI(float targetValue, float speed) { globalIndirectIntensity Mathf.Lerp(globalIndirectIntensity, targetValue, Time.deltaTime * speed); } }6.3 代码使用说明编辑器模式下可通过菜单栏GI工具快速烘焙、清空缓存运行时脚本可实现昼夜光影渐变、全局亮度微调所有API为Unity官方原生接口无版本兼容问题。七、GI烘焙高频问题与商用级避坑方案7.1 烘焙后场景闪烁、黑斑、光影断层原因模型Lightmap UV重叠、分辨率过低、模型面数重叠、光照贴图分块误差。解决方案模型开启Generate Lightmap UVs修复UV重叠适当提高Lightmap分辨率紧邻模型拉开微小间距避免面重叠。7.2 打包后场景变黑、光影丢失原因烘焙贴图未打入包体、静态标记丢失、Lighting缓存未更新、平台压缩格式不兼容。解决方案烘焙后保存场景确保Lightmap贴图关联关闭贴图只读开启对应平台压缩重新烘焙并清空旧缓存。7.3 动态物体光影突兀、与场景脱节原因未布置光照探针、探针稀疏、未开启探针采样。解决方案场景关键位置布置LightProbe Group加密动态物体区域探针确保动态物体实时采样间接光。7.4 烘焙耗时过长、卡顿严重原因分辨率过高、多余静态物体、Realtime GI开启、贴图尺寸过大。解决方案降低非重点场景分辨率动态物体取消静态标记关闭Realtime GI统一使用Baked/Mixed模式。7.5 URP管线烘焙后光影异常解决方案URP管线需在Pipeline Asset中开启Lightmap、LightProbe支持确保渲染管线兼容烘焙光影。八、项目落地性能优化规范商用标准8.1 贴图资源优化移动端统一开启Lightmap压缩分辨率严格控制在合理范围小道具合并烘焙减少贴图分块数量废弃烘焙贴图及时清理减少包体体积。8.2 烘焙规则规范纯静态场景优先Baked GI兼顾性能与画质有动态光影需求场景使用Mixed Indirect Only严禁场景开启Realtime GI做正式发布。8.3 探针布置规范动态物体活动区域加密探针静态空旷区域稀疏布置高低落差区域分层布置避免光影插值错误。九、GI烘焙进阶搭配PBR打造超写实画面前文讲解的PBR物理材质GI全局光照烘焙是写实渲染的黄金组合PBR保证单物体材质物理正确、质感真实GI烘焙保证场景光影反弹、环境氛围真实二者结合可实现3A级别写实画面同时保持极低的运行性能开销是手游写实项目的标准渲染方案。十、总结GI全局光照烘焙不是简单的“一键出图”而是一套基于物理光学、参数严谨、性能可控、规范落地的工业级渲染体系。核心精髓可总结为三点GI的本质是模拟光线弹射间接光照弥补实时光照的物理缺失三种GI模式按需选择Mixed间接光烘焙是通用项目最优解光影异常90%源于UV、参数、静态标记、探针布置不规范。掌握本文全套原理、调参、代码控制、优化避坑方案即可独立完成商用项目全流程GI烘焙开发彻底告别光影玄学问题。