2026年初,《Ghost of Yōtei》发售后,技术社区讨论最多的不是剧情,不是战斗系统,而是游戏的光照——那种从黎明到黄昏、从室内暗角到雪山亮面无缝过渡的光感,被普遍认为是本世代主机上最自然的全局光照表现之一。
幕后的核心功臣,是 Sucker Punch 图形程序员 Eric Wohllaib 在 GDC 2026 上发表的一场演讲:《Ambient Diffuse Lighting in Ghost of Yōtei》。这不是一场炫技式的技术 demo,而是一套关于”如何在大规模开放世界上,正确布光”的生产级解决方案。

▲ 薰衣草田野中的阿雀(主角),早期开发版本截图。光源均匀柔和,尚无复杂光照。
一、规模的诅咒:老办法为什么不够用了
在聊 Sucker Punch 的解法之前,有必要先理解这个问题本身有多难。
开放世界光照的核心矛盾只有一句话:手工光照的精度,无法覆盖手工光照的成本。
在一个小规模、受控的环境中,美术可以手动放置光照探头(light probe),逐个调整数值,肉眼检查穿帮,反复迭代。这套流程在 50 小时的线性体验里是行得通的——但当世界扩大到一整片北海道地域时,这套办法立刻崩溃了。
原因很直接:没有任何团队能够触及地图的每一个角落,而光照恰恰是那种”只要有一块区域没做好,整体感就会瞬间破裂”的系统。
Sucker Punch 需要解决的不只是最终质量,还有迭代速度——美术在编辑器里调整一块地形或一棵树,系统必须能够实时反馈光照变化,而不需要等待数小时的全图烘焙。

▲ Sucker Punch 演讲中展示的光照探头可视化截图。绿色网格即为探头排布,右上角为对应游戏画面。
二、核心系统:环境漫反射探头的新数据结构
Eric Wohllaib 在演讲中将解法拆解为两个相互依赖的核心模块:
1. 探头的自动生成与放置
第一步,是让算法来决定”探头该放在哪”。
传统做法是美术在关卡编辑器中手动放置——效率低,且一致性差。Sucker Punch 的方案则是根据场景几何与材质属性,由算法自动推断探头位置:高频细节区域放置密集探头,平坦区域则稀疏布点。
这中间有一个极难处理的问题——光线泄漏(Light Leaks)。所谓光线泄漏,就是探头采样到的光,绕过了不该绕过的遮挡物,导致本该阴暗的角落反而被照亮,或者相反。解决它需要两件事同时成立:探头位置足够合理,且美术拥有工具来手动排除/包含特定区域。
2. 实时响应与美术迭代
在开放世界里,光照不是静态的:时间推移、动态物件移动、玩家行为改变场景。这些变化都需要实时反映在探头数据中。
传统的烘焙方案(Baked Lighting)在这里撞墙:烘焙出来的光照数据是”快照”,不支持运行时更新,每次编辑后都需要重新烘焙——一次全图烘焙可能需要数小时。
Sucker Punch 的探头系统在设计之初就考虑了编辑时实时预览:美术在编辑器里移动一棵树,调整屋顶高度,光照随之改变,不需要等待。这对迭代速度的提升是颠覆性的。
“探头的放置方式,和光追系统必须共享同一套数据结构。”
三、光追登场:探头 × 光线追踪的一体化设计
PS5 的硬件光追能力解锁了此前在光栅化管线里”做不起”的效果:准确的二次弹射光、来自面光源的软阴影、以及真正的间接光照全局照明(GI)。
但这里有一个架构陷阱:光追系统和探头系统,往往是两张皮。团队A搭了一套探头,团队B搭了一套光追,两者各干各的——结果要么是重复计算,要么是两套数据互相打架。
Sucker Punch 的关键决策在于:让探头系统和光追系统共享完全一致的数据结构。
这样做的好处是:光追的射线查询(Ray Hit Query)能够直接复用探头系统的空间索引逻辑,不需要额外翻译层;而探头系统本身也借助光追硬件实现了此前无法实现的精度。

▲ 演讲中的屏幕空间探头光追 GI 原理示意。每一帧的光照信息,由探头采样与光追射线协同计算得出。
四、屏幕空间探头 + 光追 GI:具体怎么做到的
标准 SSAO 的局限
传统的屏幕空间环境光遮蔽(SSAO)技术,通过采样深度缓冲区来估算每个像素被周围几何体遮蔽的程度。这很快,但有一个致命缺陷:射程极短,且无法处理物体间的间接光弹射。
一片红色墙面反射到对面白色墙面上的暖光,SSAO 是看不到的。
屏幕空间 GI 的思路
Ghost of Yōtei 使用的”屏幕空间探头光追全局照明”(Screen Space Probe Based Ray Traced GI),将探头从屏幕空间扩展到了世界空间:在世界范围内放置探头,用光追来评估探头之间的光传递。
换句话说:不是去追踪每一条从光源出发的光线,而是先在世界各处放置探头,再用光追射线去查询”这个探头能看到哪些其他探头、它们各自携带多少光照信息”。
这带来的直接改善:
✅ 间接光弹射。红色墙面把光弹到白色墙面上的暖感,能够被正确呈现。
✅ 大面积面光源的间接照明。日光穿过云层、树叶、窗格后形成的漫散射,在探头的帮助下得以正确累积。
✅ 运行时响应。探头数据支持动态更新,光照随时间、天气、场景变化而自然变化。
数据管理的工程代价
这一切的代价,全部压在数据管理上:探头需要被高效剔除、打包、索引;射线命中查询不仅要返回深度,还要返回材质属性(反照率、粗糙度、发光值);整套算法必须以60fps 稳定运行——不是在跑 benchmark,而是玩家骑着马在地图上跑的时候。
这才是这场演讲真正的价值所在:不是”我们做出了一个炫酷的 GI 算法”,而是”我们解决了在一个开放世界上,以可接受的性能,把这个 GI 算法跑起来的所有工程问题”。

▲ 正式版游戏中的秋季山野场景。光追让远景雪山的反射和近景植被的光感达到了前所未有的统一性。
◆ ◆ ◆
结语
大多数 GDC 演讲分享的是研究原型——demo 好看,落地很难。《Ambient Diffuse Lighting in Ghost of Yōtei》不一样。
Sucker Punch 没有发明新的 GI 算法。他们所做的,是把业界已经验证过的技术——探头布点、光追 GI、屏幕空间方法——整合成一套在开放世界上真正可用的管线,并且与美术的实时编辑需求完全打通。
这个整合工作,才是真正的难点。
你可以在 SIGGRAPH、Eurographics 或者各种论文里找到类似方法的技术描述,但很少有人会告诉你:这些系统在 60fps、PS5 硬件、一张 200 平方公里以上的地图上协同工作时,真正的瓶颈在哪,坑在哪,怎么绕过去。
这场演讲的价值,就是那个”怎么绕过去”。

▲ 极光下的静谧时刻。间接光照系统在夜空场景中处理极光对地面、植被的反光,呈现自然的夜间环境光层次。
演讲原文:Ambient Diffuse Lighting in ‘Ghost of Yōtei’
Eric Wohllaib · Sucker Punch Productions · GDC 2026 · Advanced Graphics Summit
本文同步自微信公众号,查看原文。