版本:Unity 6 (6000.0)
语言:English
在运行时移动灯光探针
灯光探针参考

灯光探针故障排除

振铃效应

在某些情况下,灯光探针会出现一种称为“振铃效应”的不希望有的行为。这通常发生在灯光探针灯光探针存储有关光线如何穿过场景空间的信息。在一个给定空间内排列的灯光探针集合可以改善该空间内移动物体和静态LOD场景的灯光效果。 更多信息
请参阅 术语表
周围的光线存在显著差异时。例如,如果灯光探针的一侧有明亮的光线,而另一侧没有光线,则光强可能会在背面“过冲”。这种过冲会导致背面出现光斑。

Example of Light Probe ringing
灯光探针振铃效应示例

有几种方法可以解决这个问题

  • 灯光探针组一个组件,允许您将灯光探针添加到场景中的游戏对象。 更多信息
    请参阅 术语表
    组件中,启用去除振铃效应。Unity 会自动去除意外的光斑。但是,这通常会降低灯光探针的准确性并降低光线对比度,因此您必须检查视觉效果。
  • 以玩家无法到达可以看到光斑的位置的方式放置游戏中的障碍物。
  • 避免将直接光烘焙到灯光探针中。直接光往往具有明显的间断(例如阴影边缘),这使其不适合灯光探针。要仅烘焙间接光,请使用混合光照

灯光探针放置故障排除

您选择的灯光探针位置必须考虑到灯光是在灯光探针组之间进行插值的。如果您的灯光探针不能充分覆盖整个场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建您的游戏。 更多信息
请参阅 术语表
的灯光变化,则可能会出现问题。

下面的示例显示了一个夜间场景,两侧各有一个明亮的路灯,中间是一个黑暗区域。如果灯光探针仅放置在路灯附近,而黑暗区域中没有灯光探针,则来自路灯的灯光会“溢出”到黑暗的间隙中,在移动物体上。这是因为灯光是从一个亮点插值到另一个亮点,而没有关于两者之间黑暗区域的信息。

This image shows poor Light Probe placement. There are no Light Probes in the dark area between the two lamps, so the dark area is not included in the interpolation at all.
此图像显示了灯光探针放置不当。两个灯之间的黑暗区域没有灯光探针,因此黑暗区域根本没有包含在插值中。

如果您使用的是实时或混合灯光,则此问题可能不太明显,因为只有间接光会溢出到间隙中。如果您使用的是完全烘焙灯光其“模式”属性设置为“烘焙”的光照组件。Unity 在运行时之前预先计算烘焙灯光的照明,并且不将其包含在任何运行时灯光计算中。 更多信息
请参阅 术语表
,则此问题会更加明显,因为在这种情况下,移动物体上的直接光也从灯光探针插值。在此示例场景中,两个路灯都是烘焙的,因此移动物体从灯光探针获取其直接光。在这里您可以看到结果——一辆移动的物体(救护车)在穿过黑暗区域时仍然保持明亮,这不是预期的效果。黄色的线框四面体表明插值发生在街道的一个明亮端到另一个明亮端之间。

这是一个不希望有的效果——救护车在穿过黑暗区域时仍然保持明亮,因为在黑暗区域中没有放置灯光探针。

要解决此问题,您应该在黑暗区域放置更多灯光探针,如下所示

现在场景中也有了黑暗区域的灯光探针。因此,移动的救护车在从场景的一侧移动到另一侧时会呈现更暗的灯光。

The ambulance now takes on the darker lighting in the centre of the Scene, as desired.
现在,救护车呈现了场景中心所需的更暗的灯光。

在运行时移动灯光探针
灯光探针参考