光照探针 (light probe)

对于Unity,不得不说功能很强大,不仅涉及物理系统,粒子系统,光照系统等,而且对于每个系统中从优化性能方面有有很多功能。本次探讨的光照探针就是在性能优化上面的一种技术。

光照探针是对LightMapping的一个补充功能。首先我们先来看一下烘焙光中的一些缺陷。
我们在新建场景中先创建一个cube,scale x为10 scale z 为10
在场景中添加两个点光源,改名字为red_light 和 green_light ,并删除方向光directional Light,这是为了避免对两个点光源造成影响。同时注意两个点光源要在cube之上,否则也不会出现效果。
这样我们就看到了一下的效果哟!!
光照探针 (light probe)_第1张图片
接下来我们要创建一个sphere。
我们会看到球的两侧光源对球还是有影响的。两面都有红色或绿色的光源。
光照探针 (light probe)_第2张图片
当时这种是实时光源,还是比较消耗性能的。我们减小性能的消耗呢?有人会想到烘焙光,但是当我设置灯光为烘焙光的时候就成了现在的样子。
光照探针 (light probe)_第3张图片

相信这个图片应该不是我们想要的结果。因为我们的小球就是一个黑色的并没有从cube上得到光的反射。因为烘焙光,我们通常会理解成为一张照片。我们不能得到照片上的颜色。因此Unity给我们另一种解决方案:既能保证移动的小球可以通过环境中的光改变自身的颜色,又能保证性能比较好,这就是光照探针。
接下来我们继续这个案例去做。
在创建Light时 选择Light probeGroup。这时候你会看到下面的额场景

光照探针 (light probe)_第4张图片

你会发现右侧图中小球又有颜色了。我们在小球的检测面板中勾选static
光照探针 (light probe)_第5张图片
同时在操作lighting窗口取消勾选自动烘焙
光照探针 (light probe)_第6张图片
现在关闭两个点光源,移动小球,小球的颜色会随着环境光的改变而改变颜色。

你可能感兴趣的:(游戏优化)