光照与渲染(十一)- 光照探头

来源:互联网 发布:自媒体 内容来源 知乎 编辑:程序博客网 时间:2024/05/17 08:48

只有静态的对象物体才会被Unity的Baked或者Precomputed Realtime GI 系统所考虑。为了使动态的对象物体,例如可交互的场景元素或者角色,去拾取一些丰富的反射光(由静态几何物体接收的),我们需要记录下这种光照信息,以一种在游戏运行时能够被快速读取和应用到我们光照方程的格式。

我们通过在世界中放置一些采样点来从各个方向捕捉光线。这些点记录的颜色信息然后会被编码成一系列的值(“或系数”),这些值在游戏运行时能够被快速地计算。在Unity中,我们管这些采样点叫光照探头Light Probes。



使用了光探头的场景,注意图中光探头放置位置在光线容易变化的地方,例如阴影或是颜色转换的地方。

光照探头允许移动物体去响应同样复杂的反射光,这种反射光会对我们的光照贴图产生影响,不管我们使用还是不使用

Baked GI 或者 Precomputed Realtime GI。一个对象物体上的Mesh Render组件将会在它的位置周围寻找光照探头,并且在它们的值之间混合。这是透过找寻由光照探头所产生的一个四面体,然后决定哪个四面体落入对象物体的轴向。

这允许我们在场景中移动角色并且合适地将它们集成显示。如果没有光照探头,动态的对象物体将不会接受任何全局光照并且将会比光照贴图化的几何物体颜色要暗。默认情况下在场景中是没有光照探头的,所以光照探头需要通过使用一个Light Probe Group来放置(GameObjects>Light>Light Probe Group).

如果在你的预计算设置中(Lighting>Scene>Auto)底部的“Auto”选项被选中,无论何时场景光照或者静态几何物体发生改变,光照探头都会被更新,否则“Auto”不被选中,只有点击Build按钮光照探头才会被更新。

(完结)