静态 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

  1. 按照动态模式的设置,精确放置和调整 DDGI 体积的大小。体积放置和探针密度设置是相同的。

  2. 将体积切换到静态模式。

  3. 完成灯光设置。烘焙后的任何更改都不会反映在探针中。

  4. 烘焙。您可以随意迭代——烘焙速度很快,您可以将其视为灯光循环的一部分,而不是耗时一整夜的工作。

  5. 使用场景中的移动物体进行验证,因为静态 DDGI 在移动物体上的效果比光照贴图更明显。

限制

静态 DDGI 是烘焙的,因此所有相关限制都适用:没有时间变化,没有移动或强度变化的灯光影响反射,可破坏几何体被破坏后也不会产生反射。直接光照仍然可以完全动态;只有间接反射被冻结。

探针间距仍然限制空间分辨率,因此关于接触细节的相同理由仍然适用。与 SSGI 结合使用在这里也很有价值,而且 SSGI 不需要光线追踪,因此在相同的硬件上仍然可用。

请注意,Vite 默认在导入时禁用光照贴图 UV 生成——请参阅引擎默认更改。如果您打算将传统光照贴图与静态 DDGI 一起使用或代替静态 DDGI,则需要重新启用它。

注意: 将传统 LightMass 与静态或动态 DDGI 结合使用是可行的,全局光照可以很好地融合,通常不会出现瑕疵或因全局光照相关的数学运算而导致的计算错误。

另请参阅