Unity3D - 灯探测器(Light Probes)

时间:2022-07-26 16:46:13

在Unity中Baked和Precomputed Realtime Gl系统只应用于静态物体。为了让动态物体可以受到静态物体灯光的影响,我们需要将照明信息记录在一个格式中,这种格式可以在游戏中迅速被读取。

我们通过在场景中放置采样点,然后从各个方向捕获光线来做到这一点。这些采样点记录的颜色信息会被编码到一组值中,以便在游戏中被快速读取。在Unity中,我们称呼这些采样点叫做光探测器(Light Probe)。

Unity3D - 灯探测器(Light Probes)

在场景中使用光探测器。请注意在照明变化的区域(如阴影或颜色转换)中需要更加密集地放置。

不管使用的是Baked Gl还是Precomputed Realtime Gl,光探测器(Light Probe)都允许移动物体去响应复杂的反弹效果,而且这会影响光照贴图(Lightmap)。对象的网格渲染器(Mesh Renderer)会在其位置周围寻找光探测器,并混合它的值。没有光探测器,动态对象将不会接收到任何全局照明的光,并且会比周围的物体更暗一些。

默认情况下,场景中没有光探测器,我们需要使用Light Probe Group来添加。(GameObjects>Light>Light Probe Group).