静态 DDGI
烘焙探针体积,烘焙时间几乎瞬间完成。相比传统烘焙光照,反射效果更佳,对运动物体的覆盖范围更广,且无运行时光线追踪开销——因此即使在完全不支持 DXR 的 GPU 上也能运行。
静态 DDGI 使用与动态 DDGI 相同的探针体积、辐照度计算和八面体表示,但辐照度仅在烘焙时计算一次,而非在运行时持续计算。它是面向低端且不支持光线追踪硬件的 GPU(GTX 900/Radeon 5000 系列或更早型号)的方案。
注意: 动态 RT DDGI 可从 2016 年的 GTX 1060 6GB(10 年前)开始运行,最低要求是 Pascal 架构,且至少配备 6GB 显存。
您将获得
近乎瞬时的烘焙。 这是与 LightMass 的主要区别。烘焙探针辐照度比求解光照贴图 UV 和逐纹素辐射度要简单得多,而且当烘焙时间从数小时缩短到数秒时,迭代循环的性质也发生了彻底的改变。
比传统烘焙光照更好的反射保真度。 实际几何场景遍历表示捕获的是方向性辐照度,而不是平面光照贴图值,因此即使在光照已烘焙的区域,表面也能根据其方向做出正确的响应。
更好的运动物体覆盖。 这是相对于光照贴图的结构优势。光照贴图将光照存储在表面上,因此运动物体必须回退到间接光照采样或体积光照贴图。DDGI 探针体积将光照存储在空间中,因此任何在体积中移动的物体(角色、车辆、物理碎片)都会采样与静态几何体相同的表示,并使其外观保持一致。
注意:运行时无需 DXR。 烘焙完成后,探针纹理数据将被序列化,无需实时加速。这使得静态 DDGI 能够在超低端 GPU 和完全不支持光线追踪的硬件上运行。
何时使用
| 场景 | 建议 |
|---|---|
| 最低配置不支持 DXR | 静态 RT DDGI |
| 最低配置要求非常低,但支持 DXR | 动态 RT DDGI,光线预算较低 |
| 光照完全静态(无时间变化,无可破坏光源) | 静态 DDGI 即可满足需求 |
| 光照在运行时变化 | 动态 RT DDGI |
| 适用于多种硬件 | 两者均可通过硬件检测自动切换 |
最后一行描述的是常见情况,这也是即使在以动态光照为目标的项目中,设置静态 DDGI 也值得的原因。因为这两种模式共享体积和创作资源,所以同时支持它们是一种可扩展性设置,而不是在每个关卡中重复进行一次光照处理。
设置
烘焙静态 DDGI
-
按照动态模式的设置,精确放置和调整 DDGI 体积的大小。体积放置和探针密度设置是相同的。
-
将体积切换到静态模式。
-
完成灯光设置。烘焙后的任何更改都不会反映在探针中。
-
烘焙。您可以随意迭代——烘焙速度很快,您可以将其视为灯光循环的一部分,而不是耗时一整夜的工作。
-
使用场景中的移动物体进行验证,因为静态 DDGI 在移动物体上的效果比光照贴图更明显。
限制
静态 DDGI 是烘焙的,因此所有相关限制都适用:没有时间变化,没有移动或强度变化的灯光影响反射,可破坏几何体被破坏后也不会产生反射。直接光照仍然可以完全动态;只有间接反射被冻结。
探针间距仍然限制空间分辨率,因此关于接触细节的相同理由仍然适用。与 SSGI 结合使用在这里也很有价值,而且 SSGI 不需要光线追踪,因此在相同的硬件上仍然可用。
请注意,Vite 默认在导入时禁用光照贴图 UV 生成——请参阅引擎默认更改。如果您打算将传统光照贴图与静态 DDGI 一起使用或代替静态 DDGI,则需要重新启用它。
注意: 将传统 LightMass 与静态或动态 DDGI 结合使用是可行的,全局光照可以很好地融合,通常不会出现瑕疵或因全局光照相关的数学运算而导致的计算错误。