Unity3D的LightProbe动态光探头用法介绍
2017-06-13 本文已影响531人
元宇宙云课堂
之前曾经介绍过Unity3D的LightMapping烘焙的用法。单独使用的LightMapping效果很好,但由于只是把光影烘焙到贴图上面,所以并不会对周围的动态物体产生真正的光照效果。这次来介绍一下LightProbe,这是对LightMapping的一个补充功能,可以让动态物体在烘焙好的场景里面受到光的照射效果。
接下来说一下具体的用法:

首先在场景里面随意的放了一些物体,搭建了一个场景,里面有一盏直射灯,两盏不同颜色的点光源,然后有一个球,球是作为动态物体的存在。

由于打了灯光,所以球明显的受到了两盏灯光的影响而表现出两种颜色。

接下来设置一下LightMapping的选项,然后烘焙

烘焙之后的效果是这样的,由于三盏灯还开着,所以球还是受到光的颜色的影响。

接下来我们把三盏灯都关掉,这时候球就没有任何灯光效果,变成灰黑色

移动一下球,明显的不和场景里面的任何灯光产生影响

接下来我们要开始做LightProbe了。先建一个空物体

然后给这个空物体添加Light Probe Group组件

在LightProbe选项里面,有添加、选择、删除和复制探头的按钮我们可以点击添加,放一些探头在场景里面,也可以建一个,然后复制多几个

最简单的,先在各个角落放一个,包一定范围内的场景包起来。只要你选择了LightProbe物体,那么这些探头点你就可见,然后你就可以直接用鼠标点选这些探头,然后使用位移工具来移动他们。

在烘焙之前,记得把这个LightProbe物体改成Lightmap静态物体

烘焙之前记得把三盏灯开启,烘焙完成之后,选择球,然后在网格渲染里面把Use Light Probes勾上

烘焙后就可以把三盏灯关闭了,这时候,我们看到球不再是灰黑色的了,而是受到了一定的灯光的影响

把球移动到另外一边,发现球的颜色稍微有点变化了,这就是受到了LightProbe影响了。

但上面的效果不明显,我们继续的在两盏点光源的附近加多一点探头


再次烘焙之后,我们可以看到,现在的球受到LightProbe的影响的效果就很明显了。
其实就是这么简单,LightProbe的用法就是在LightMapping的基础上加上了一些探头的点来记录光源的信息。探头越多,效果就越明显。各位如果有兴趣,可以深入的研究一下,探头怎样分布,效果才是最好的。