GI(全局光照)技术分类体系
一、预烘焙 GI(Pre-baked GI)
1. 光照贴图(Lightmap)
- 核心逻辑:将静态物体表面的直接光 + 间接光信息烘焙到 2D 纹理(如 RGBA32 或 BC6H 压缩格式),运行时直接采样纹理获取光照值。
- 关键特性:
- 支持 “光照组(Lightmap Group)” 拆分大场景,避免单张纹理精度不足;
- 可结合 “光照贴图 UV 展开” 优化纹理利用率,减少拉伸失真;
- 适合细节丰富的静态场景(如建筑、地形)。
 
2. 静态光照探针(Light Probes - Static)
- 核心逻辑:在场景中布置采样点,烘焙每个点的空间光照信息(用球谐函数(SH) 或立方体贴图编码),为动态物体提供间接光近似。
- 关键特性:
- 不依赖物体表面,仅描述 “空间位置的光照状态”;
- 动态物体通过插值周围 3-4 个探针数据,获得间接光颜色,解决动态物体与静态场景的光照融合问题;
- 探针密度决定精度,密集区域(如室内角落)需多布置。
 
3. Enlighten(预计算实时 GI)
- 核心逻辑:预计算阶段生成 “辐照度传输(Irradiance Transport)数据”,运行时可修改光源参数(颜色、强度、位置),间接光会实时更新。
- 关键特性:
- 介于 “纯预烘焙” 与 “纯实时” 之间,支持有限动态光源;
- 曾是 Unity 5.x 时代的核心 GI 方案,后因 “预计算时间长、动态物体支持弱” 逐渐被替代;
- 仅支持静态物体参与间接光交互,动态物体仍需依赖光照探针。
 
4. Shadowmask(阴影遮罩)
- 核心逻辑:烘焙静态物体的阴影信息到纹理,运行时叠加到实时光照中,避免动态光源计算静态物体阴影的开销。
- 子类与特性:
- 硬阴影遮罩(Hard Shadowmask):仅存储 “阴影有无”(二值化),适合低精度场景;
- 软阴影遮罩(Soft Shadowmask):存储阴影强度(灰度值),支持柔和阴影过渡;
- Distance Shadowmask:按距离切换模式(近距离用实时阴影,远距离用烘焙阴影),平衡精度与性能。
 
二、实时 GI(Realtime GI)
(一)光线追踪类 GI(物理级精度)
1. 基础光线追踪算法(按复杂度递进)
(1)光线投射(Ray Casting)
- 核心逻辑:从相机向每个像素发射一条光线,仅计算光线与场景的 “最近交点”,不考虑反射 / 折射等间接光。
- 应用场景:
- 早期伪 3D 游戏(如《Wolfenstein 3D》);
- 现代游戏的辅助计算(如鼠标拾取、视线检测)。
 
(2)递归光线追踪(Recursive Ray Tracing / Whitted-Style Ray Tracing)
- 核心逻辑:在光线投射基础上,对反射 / 透明材质发射次级光线(反射光线、折射光线),递归计算交点颜色,按材质比例叠加贡献。
- 关键特性:
- 支持有限次数的直接反射 / 折射(通常 1-3 次);
- 对漫反射间接光处理简化(如忽略漫反射反弹),无法自然模拟全局光照;
- 应用于早期影视渲染,现代游戏中极少单独使用。
 
(3)路径追踪(Path Tracing)
- 核心逻辑:从相机发射 “光线路径”,与物体相交后随机决定下一次反弹方向(基于材质属性),持续反弹直到光线逃逸或达到最大次数,最终颜色为多条路径的平均值。
- 关键特性:
- 物理精度最高,可自然模拟全局光照(如颜色渗透、复杂焦散、间接漫反射);
- 因随机性需大量采样(路径),画面易产生噪点,依赖AI 降噪技术(如 DLSS、XeSS);
- 应用场景:
- 影视级离线渲染(如《阿凡达》特效);
- 现代游戏实时路径追踪(如《赛博朋克 2077》“光线追踪:超速模式”)。
 
 
2. 游戏中常见的光线追踪效果(应用层面)
(1)光线追踪阴影(Ray-Traced Shadows)
- 核心逻辑:从物体表面点向光源发射阴影光线,判断是否被遮挡,生成 “像素级精确阴影”,支持软阴影(基于光源大小采样)。
- 优势:替代传统阴影贴图(避免阴影锯齿、漏光问题),应用于《Control》《使命召唤》等游戏。
(2)光线追踪反射(Ray-Traced Reflections)
- 核心逻辑:从物体表面发射反射光线,计算反射方向的场景交点颜色,生成镜面反射效果(如金属、水面、玻璃幕墙)。
- 优势:替代屏幕空间反射(SSR),解决 “屏幕外区域无反射” 的问题,应用于《Cyberpunk 2077》《Forza Horizon 5》。
(3)光线追踪折射(Ray-Traced Refractions)
- 核心逻辑:对透明 / 半透明材质(如玻璃、钻石、水),计算光线折射方向并追踪交点,模拟折射率带来的视觉偏移。
- 关键细节:支持 “色散效果”(不同波长光线折射角差异),提升真实感,应用于《UE5 Demo:Lumen in the Land of Nanite》。
(4)光线追踪全局光照(Ray-Traced Global Illumination - RTGI)
- 核心定义:广义术语,指用光线追踪计算间接光照,具体实现分两种:
- 简化版 RTGI:仅计算 1-2 次间接光反弹(如《古墓丽影:暗影》),平衡性能与效果;
- 完整路径追踪:支持多次反弹(如《赛博朋克 2077》超速模式),接近影视级光照质量。
 
- 依赖条件:必须配合硬件光线追踪(RTX/DXR)和降噪技术,否则无法实时运行。
(5)光线追踪环境光遮蔽(Ray-Traced Ambient Occlusion - RTAO)
- 核心逻辑:从物体表面点向周围发射多条 “环境光光线”,统计被遮挡的比例,模拟 “凹陷区域暗化” 效果(如墙角、物体缝隙)。
- 优势:替代传统 SSAO,避免边缘失真,支持动态物体,应用于《Battlefield 2042》。
三、混合实时方案(性能优先)
(一)距离场类 GI(SDF-based)
1. SDFGI(Godot 4.0+ 专属)
- 核心逻辑:
- 预计算或实时生成场景 SDF;
- 用 “圆锥追踪(Cone Tracing)” 从交点发射圆锥,采样 SDF 获取周围物体信息,计算间接光强度。
 
- 关键特性:
- 半实时更新(光源可动态调整,遮挡物需静态);
- 支持无限大场景(无光照贴图尺寸限制);
- 局限:动态遮挡物支持弱,近距离细节精度低于光线追踪。
 
2. Lumen 中的 SDF 模块(UE5 辅助)
- 定位:非独立 GI 方案,仅作为 Lumen 的 “中远距离间接光工具”。
- 核心逻辑:
- 近距离(<10 米)用 “表面缓存” 存储物体表面光照;
- 中远距离(10-100 米)用 SDF 圆锥追踪,覆盖大空间;
- 优势:解决 “表面缓存无法覆盖远距离” 的问题,降低显存占用。
 
(二)体素类 GI(Voxel-based)
VoxelGI(Godot 专属)
- 核心逻辑:
- 将场景转换为 3D 体素网格,烘焙或实时更新每个体素的间接光强度;
- 物体表面通过采样周围体素获取间接光。
 
- 关键特性:
- 支持静态物体 “接收 + 贡献” 间接光;
- 仅兼容 Godot 正向渲染后端;
- 局限:
- 体素精度决定光照细腻度(高分辨率占用显存高);
- 动态物体需依赖光照探针补充,大场景效率低于 SDFGI;
 
- 现状:未完全被取代,仍适用于独立游戏中小型场景。
 
(三)屏幕空间类 GI(Screen-space based)
1. 独立 SSGI(通用技术)
- 核心逻辑:从当前像素的深度 / 法线信息出发,向周围采样相邻像素的颜色,估算间接光反弹贡献。
- 关键特性:
- 无场景预处理,实时性强(仅依赖 GPU 像素 Shader);
- 局限:
- 仅覆盖屏幕可见区域(遮挡外区域无光照,易出现 “边缘突变”);
- 需配合双边滤波等降噪算法,避免采样噪点。
 
 
2. 屏幕空间间接照明 SSIL(Godot 专属)
- 定位:辅助 GI 技术,不可单独使用,需配合 VoxelGI/SDFGI/LightmapGI。
- 核心逻辑:针对 “小规模细节”(如物体缝隙、凹凸表面)补充间接光,解决主 GI 方案细节不足的问题。
3. Lumen 中的 SSGI 模块(UE5 兜底)
- 定位:硬件光线追踪不可用时(如移动端、老显卡)的 “近距离间接光替代方案”。
- 核心逻辑:与硬件 RTX 动态切换 —— 支持 RTX 时用光线追踪,不支持时用 SSGI,保证跨平台兼容性。
(四)引擎专属混合方案
1. Lumen(UE5 核心)
- 本质:分层协作的混合 GI 框架,整合 “表面缓存 + SDF + 辐照度体积 + RTX+SSGI”。
- 核心逻辑:
距离范围 技术方案 目的 近距离(<10 米) 表面缓存(Surface Cache) 保证细节精度 中远距离(10-100 米) SDF 圆锥追踪 覆盖大空间,降显存 动态小物体 辐照度体积(Irradiance Volume) 提供间接光插值 硬件支持 RTX 硬件光线追踪 加速反射 / 阴影 / 间接光 硬件不支持 SSGI 兜底 保证跨平台兼容性 
- 优势:跨平台(PC / 主机 / 移动端)、动态场景适配强(光源 / 物体可实时动)。
2. TuanjieGI(团结引擎 实验性):团结引擎 - 手册: TuanjieGI 实时全局光照系统
- 核心逻辑:整合 “屏幕空间光线追踪 + SDF + 软件降噪”,摆脱对 RTX 硬件依赖。
- 关键特性:
- 全实时动态响应(光源 / 物体 / 材质变化);
- 无需预烘焙,Windows 平台优先;
- 现状:实验阶段,计划移植到 URP 适配移动端,精度 / 性能仍需优化。
 
3. HDDAGI(Godot 规划中)
- 定位:Godot 下一代 GI 方案,目标替代现有 VoxelGI/SDFGI 的局限性。
- 已知方向:
- 强化动态遮挡物支持;
- 降低显存占用;
- 提升大场景计算效率;
 
- 现状:具体细节待 Godot 官方披露,尚未落地。
(五)实时探针技术
1. 动态光照探针(Light Probes - Dynamic)
- 核心逻辑:实时更新探针数据(如动态光源移动时),响应场景光照变化。
- 局限:仅适用于小场景 / 少量动态光源,否则性能开销大;大型物体易出现光照不均。
2. Light Probe Proxy Volumes (LPPV)
- 核心逻辑:为大型动态物体(如角色、车辆)创建 “体积包围盒”,在盒内分布多个虚拟探针,通过插值虚拟探针数据获取间接光。
- 优势:解决 “单一探针无法覆盖大物体” 的光照不均问题,需与动态光照探针配合使用。
四、混合 GI(Mixed GI)
1. Baked Indirect + 实时直接光
- 核心逻辑:
- 预烘焙静态物体的间接光(存储到光照贴图 / 探针);
- 运行时实时计算直接光(光源照射到物体表面的光线)。
 
- 优势:
- 间接光无实时开销,直接光支持动态调整(颜色、强度);
- 兼顾性能与动态效果,是 Unity/UE 的默认混合方案。
 
2. Subtractive 模式
- 核心逻辑:
- 预烘焙静态物体的直接光 + 间接光(全静态);
- 动态物体仅接收实时直接光,不接收间接光。
 
- 优势:性能开销极低,适合低端移动端(如早期手游);
- 局限:动态物体与静态场景光照融合差(无间接光)。
3. Shadowmask + 实时直接光
- 核心逻辑:
- 预烘焙静态物体的阴影(存储到 Shadowmask);
- 运行时实时计算直接光(静态物体直接光用烘焙值,动态物体直接光实时计算);
- 动态物体阴影实时生成。
 
- 优势:平衡阴影质量与性能,适合 “静态场景 + 动态角色” 的游戏(如 MMORPG)。
Unity中的全局光照:
Unity 2022! 光照环境4 种技术!_哔哩哔哩_bilibili




1.光照贴图+反射探针+Volume自动曝光
2.光照探针:
跟光照贴图比,实时性提升,效果略会下降,例如少了接触阴影(AO),性能会下降,比较是实时计算的。
光照探针 = 记录辐照度的 “采样点网络”,辐照度则是光照探针传递的 “核心信息”—— 没有辐照度,光照探针就失去了存在的意义;而没有光照探针,动态物体就无法获取环境的辐照度信息。表面颜色 = 材质反照率 × 辐照度
2.1 Legacy Light Probes(旧版):不支持实时,不支持反射,支持所有管线。需手动放置探针。每个探针会采样周围的光照信息,并将这些信息压缩存储为 3 阶球谐函数(SH)—— 这是一种用数学函数近似表示 “全方向光照” 的方式,
2.2 Probe Volumes(新版):支持实时,支持反射,仅支持HDRP(未来会支持URP)。自动生成体积内密度探针网格。摒弃了低阶 SH,改用 “光照贴图切片(Light Map Tiles)” 和 “预过滤环境贴图(Prefiltered Environment Maps)” 存储光照信息
3.光线追踪(反射+阴影) + 屏幕空间GI(Ray Tracing)
4.路径追踪:非实时,帧数非常低,噪点多,需要搭配AI降噪
5.Enlighten:Enlighten 是 Unity 中用于实现 实时全局光照(Realtime GI) 的中间件技术,其核心实现 基于软件算法(辐射度算法),现在逐渐被抛弃
Unity光追2019版本开始在HDPR(DX12)里支持(需要英伟达20系以上GPU)
参考:设置光线追踪 |高清渲染管线 |17.3.0 --- Set up ray tracing | High Definition Render Pipeline | 17.3.0

 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号