![]()
Adaptive Probe System (APS)
![]()
流式自适应光照探针——为开放世界而生的全平台高质量间接光照。 无限场景规模 · 零开销按需特性 · 无需 RTX 烘焙 · URP/HDRP 双管线统一
![]()
为什么我们需要 APS?告别传统光照的妥协
![]()
间接光照是赋予场景真实感的关键,但在传统光照方案中,开发者往往要在质量与性能之间艰难取舍:
Light Probes:性能开销低,但依赖手动放置,精度和功能都受限。
Probe Volume:效果虽有提升,但显存随场景规模线性增长,手动布置及漏光问题需要较多精力解决。
Lightmap:能呈现细腻的光影,但仅适用于静态物体;切换时容易出现加载延迟,增量更新的成本也较高。
实时 GI:动态效果极佳,但每帧迭代的计算开销偏高,对移动端及部分基础设备的兼容性构成不小挑战。
![]()
原始场景
![]()
只有直接光照
![]()
补充间接光照
无论是阳光穿透帐篷形成的自然暖光,还是让阴影中的动态角色自然受光,间接光照都不可或缺,这里拿 URP Sample 绿洲场景举例:
![]()
传统Ambient补充统一光照, 场景显平而且色调不正确
![]()
APS 补充阳光穿透帐篷自然的暖光环境, 而且能让动态角色受光
面对开放世界和跨平台发布的严苛要求,“大规模 + 低开销 + 全平台”似乎成了不可能完成的三角任务。为此,团结引擎倾力打造了自适应光照探针系统(Adaptive Probe System),APS 的核心特点是:
烘焙换性能
流式换规模
自适应换效率
按需剥离换零开销扩展
在URP Garden Demo中启用APS
![]()
APS的三大核心优势
![]()
1. 显存恒定,从容应对广阔世界
传统探针的显存占用会随着场景面积线性增加,给大规模场景开发带来极大压力。为了解决这一痛点,APS 创新性地采用了 Sector 烘焙结合流式加载的架构。
在这种架构下,显存占用仅取决于开发者配置的 Page 数量,成功与场景总面积完全解耦。引擎每帧动态决定加载相机附近的 Sector,远景区域可以占用极小显存或者完全不占用显存。只要磁盘容量允许,场景规模就能实现无缝、平滑的扩展。
![]()
StreamerSystem 整体架构(完善中)
2. 密度自适应,好钢用在刀刃上
传统均匀密度的 3D 纹理探针方案往往会在空旷区域浪费大量资源,而在几何复杂的区域又显得精度不足。APS 引入了智能的自适应密度机制,能够根据场景的几何密度自动调整探针分布。在室内等复杂环境中,系统会自动加密探针以捕捉细腻光影;而在平原等开阔地带,则会自动减少探针数量。这意味着探针的总量完全由几何复杂度决定,而非单纯的场景面积。
![]()
场景切分成Sectors
![]()
各个Sector独立烘焙不同密度的probes
3. 特性按需启用,双管线统一工作流
APS 的所有子特性均支持独立开关,赋予了开发者极大的自由度。未启用的特性会在 Shader 编译阶段被完全剥离,从而在运行时实现真正的零采样、零显存与零分支开销。
同时,APS支持 URP 与 HDRP统一工作流,双管线共享同一套数据格式、烘焙流程和烘焙结果,并兼容 Forward、Forward+、Deferred、Deferred+等多种渲染路径。开发者只需完成一次接入,即可覆盖不同管线与平台配置,大幅降低项目迁移与维护成本。
![]()
Deferred+ 管线/APS 关闭
![]()
APS打开后, 雾/VFX/半透均可受光
![]()
更多高级特性
![]()
场景即时切换
面对昼夜交替、天气变化等多套烘焙光照场景,APS 可以在运行时实现流畅切换, 所有的插值混合均在 GPU 端高效完成,确保了视觉上的平滑过渡。
更重要的是,混合后的数据依然仅占用一份显存,插值就地完成。开发者完全不用担心因为多套环境方案的叠加而增加额外的内存负担,进一步节省性能。
APS调试器中切换多套Scenario
运行时动态调整
为了赋予美术团队极大的创作自由度,APS 支持在不重新烘焙的情况下,于运行时可对多项采样参数进行实时动态微调。开发者不仅可以随时缩放SH 整体强度 (Intensity)和天光强度 (Sky Factor/Scale)来精准把控场景的明暗氛围;还能通过微调法线偏移 (Normal Offset)与视角偏移 (View Offset),有效消除模型表面的自阴影和视差伪影。此外,系统还开放了噪声缩放系数(Noise Scale)以及采样位置偏移(Sample Position Offset)等丰富的细节参数,确保画面能契合美术预期。
![]()
APS 提供的Volume Override参数
在广袤的开放世界中,难免存在大片缺乏建筑或物体的空旷区域。为了避免在这些地方密集排布探针浪费显存,StreamerSystem 中引入了Sector Root 机制, 作为根节点容器,同时能够提供光照底托,在这些空旷地带为动态角色和场景提供稳定低开销的保底光照。
![]()
高维度的SectorRoot
多重漏光治理
光泄漏是探针方案中常见的问题。APS 提供了多种可独立开启或组合使用的治理能力,帮助开发者根据不同场景灵活处理漏光:
Virtual Offset:通过射线检测预修正探针嵌入几何体内部,减少出现暗斑问题。
Dilation:烘焙期间自动膨胀无效或采样不足探针,避免采样到无效探针。
MRD(MinRayDistance):预计算多个方向碰撞距离,为可能穿墙的探针提供更合理的方向性权重衰减。
Voxel Occlusion:通过体素化遮挡信息,改善植被、栅栏等细碎几何体带来的光照穿透。
Rendering Layers:通过渲染层区分室内外环境,减少不同空间之间的光照串扰。
![]()
出现漏光-颜色穿透Probe间的墙壁
![]()
预计算MRD(黄色线)-自动阻挡
多平台烘焙
在烘焙效率方面,APS 同样做足了优化。我们推荐在 DX12 环境下开启 DXR 进行硬件加速,大幅缩短大规模切分地块的烘焙时间。同时,系统也完美兼容 DX11 与 Metal 平台上的 UniversalRayTracing,确保不同硬件环境下的开发体验同样顺畅。
烘焙完成后, 会自动拆分编辑器数据, 只用于烘焙的几何数据确保不进入Shipping,多套光照共享数据(几何固定数据、防漏光数据),只加载用到的,充分利用每一个比特,确保运行时效率。
调试可视化
APS 内置了强大的可视化调试工具。开发者可以在面板中直观查看SH系数、光照遮挡情况、MRD轴以及各个区块的加载状态,让整个光照调试过程真正做到所见即所得。
![]()
APS Voxel - 检查空间分布密度
![]()
APS Probe - 检查具体烘焙颜色, 漏光
![]()
性能表现:全平台流畅运行的坚实后盾
![]()
数据实测
APS 在设计之初充分考虑了不同平台的性能预算,目标是在控制内存与显存占用的同时,为多端项目提供稳定的间接光照表现。实测结果显示:
PC 平台:支持 DX11 / DX12,在 RTX 3060 设备上,即便使用动态条件分支,仍可稳定运行在约77 FPS。
iOS /MacOS 平台:基于 Metal,在 iPhone 14 上运行复杂绿洲大场景时,可稳定保持60 FPS。
Android 平台:支持 GLES 3.1+ / Vulkan,在小米 14 设备上实测可达到约80 FPS。
WebGL / 小游戏平台:当前会自动回退至传统探针方案,以保证兼容性,后续将扩展CPU混合与寻址能力。
为了适应复杂的跨平台硬件生态,APS 内置了精细的性能分级系统,让开发者能够根据目标设备的算力,游刃有余地调配系统资源。
在显存管理方面,系统提供了极具弹性的显存预算控制。开发者可以根据设备的实际规格,将显存占用最小从 12MB 起步。这确保了即便是在内存吃紧的基础机型上,依然能稳定运行高质量的间接光照。为了保障在开放世界中高速移动时的帧率平稳,APS 引入了分帧加载量控制机制。通过合理规划每帧的 IO 与实例化任务,有效避免了场景漫游时可能出现的性能峰值与卡顿。
![]()
APS设置面板
采样策略与精度选择
在底层采样模块上,系统支持在 3D Texture 与 Buffer Based 两种采样模式间灵活切换,并涵盖了对 SH L1/L2 数据的精细调度,确保在不同图形 API 下都能最大化利用硬件带宽与缓存。
针对极致的移动端优化需求,APS 还特别支持在顶点着色器(Vertex Shader)阶段完成探针插值运算(VertexShader Interpolation)。这一策略能够大幅释放像素片段着色器的计算压力,在画质与发热之间找到完美的平衡点。
![]()
![]()
极速入门:轻松开启自适应光照
![]()
1. 激活 StreamerSystem
从 Package Manager 中安装 Streamer System。
![]()
2.RenderPipeline Lighting 中激活 APS
在渲染设置中激活 APS。
![]()
3. 指定 Sector Root
指定 Sector Root, 即要处理的场景根节点。
![]()
4. Sector 切分地块
设置场景 Sector 单块的切分大小。
![]()
5. 设置烘焙密度
可以设置场景 Probe 的自动最小摆放密度。
![]()
6. Sector & Bake
参数配置好了后, 只需要一次性 Sector Scene 将场景切分, 光照有调整的话, 重新 Bake 即可, 有需要中断可以点击 Cancel。
![]()
详细文档各部分参数详细解释可以查看引擎文档
[1] APS 概述:
https://docs.unity.cn/cn/tuanjiemanual/Manual/APS-overview.html
[2] 如何使用 APS:
https://docs.unity.cn/cn/tuanjiemanual/Manual/APS-usage.html
[3] APS Runtime API:
https://docs.unity.cn/cn/tuanjiemanual/Manual/APS-api.html
![]()
未来展望
![]()
团结引擎对光影技术的探索仍在继续。APS 团队已规划清晰的演进路线:
移动端性能突破
引入 SH Pool 神经网络压缩技术,进一步优化移动端显存与帧率,让大型场景在手机上运行得更流畅。
渲染核心升级
持续优化 UniversalRayTracing(URT)与 BVH 结构,为运行时动态追踪打下基础;同时加入更多光照子特性,丰富美术调光手段。
全平台覆盖
推进 CPU 混合与寻址方案,扩展对小游戏、Web 端的支持,让轻量级应用也能获得高质量间接光照。
Unity 官方微信
第一时间了解Unity引擎动向,学习进阶开发技能
每一个“点赞”、“在看”,都是我们前进的动力
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.