Unity3D的LightProbe動態光探頭用法介紹

weixin_34194087發表於2017-06-13

之前曾經介紹過Unity3D的LightMapping烘焙的用法。單獨使用的LightMapping效果很好,但由於只是把光影烘焙到貼圖上面,所以並不會對周圍的動態物體產生真正的光照效果。這次來介紹一下LightProbe,這是對LightMapping的一個補充功能,可以讓動態物體在烘焙好的場景裡面受到光的照射效果。

接下來說一下具體的用法:


2372757-958d715264e2090a.jpg

首先在場景裡面隨意的放了一些物體,搭建了一個場景,裡面有一盞直射燈,兩盞不同顏色的點光源,然後有一個球,球是作為動態物體的存在。


2372757-88f68d2a0a330efc.jpg

由於打了燈光,所以球明顯的受到了兩盞燈光的影響而表現出兩種顏色。
2372757-e6ea0c00384539a2.jpg

接下來設定一下LightMapping的選項,然後烘焙


2372757-6b02cda15d08e97c.jpg

烘焙之後的效果是這樣的,由於三盞燈還開著,所以球還是受到光的顏色的影響。
2372757-6501b5899e52bc30.jpg
Unity3D的LightProbe動態光探頭用法介紹 - 阿趙 - 有爪的小羔羊阿趙

接下來我們把三盞燈都關掉,這時候球就沒有任何燈光效果,變成灰黑色
2372757-12ce55906f87217f.jpg

移動一下球,明顯的不和場景裡面的任何燈光產生影響
2372757-9f226544a564909e.jpg

接下來我們要開始做LightProbe了。先建一個空物體
2372757-5d8e739dc2346347.jpg

然後給這個空物體新增Light Probe Group元件

2372757-200eeb6b160fbadd.jpg

在LightProbe選項裡面,有新增、選擇、刪除和複製探頭的按鈕我們可以點選新增,放一些探頭在場景裡面,也可以建一個,然後複製多幾個


2372757-b7d9e8af2799dec0.jpg

最簡單的,先在各個角落放一個,包一定範圍內的場景包起來。只要你選擇了LightProbe物體,那麼這些探頭點你就可見,然後你就可以直接用滑鼠點選這些探頭,然後使用位移工具來移動他們。


2372757-92401a1ae1879c5f.jpg

在烘焙之前,記得把這個LightProbe物體改成Lightmap靜態物體
2372757-adadac545a941de3.jpg

烘焙之前記得把三盞燈開啟,烘焙完成之後,選擇球,然後在網格渲染裡面把Use Light Probes勾上


2372757-be213f32482bebc0.jpg

烘焙後就可以把三盞燈關閉了,這時候,我們看到球不再是灰黑色的了,而是受到了一定的燈光的影響
2372757-f8737b70b9af09b1.jpg

把球移動到另外一邊,發現球的顏色稍微有點變化了,這就是受到了LightProbe影響了。
2372757-6a11d07ee133f57b.jpg

但上面的效果不明顯,我們繼續的在兩盞點光源的附近加多一點探頭
2372757-27d263f5f94b81e0.jpg

2372757-506bf3bfdbc175ff.jpg

再次烘焙之後,我們可以看到,現在的球受到LightProbe的影響的效果就很明顯了。

其實就是這麼簡單,LightProbe的用法就是在LightMapping的基礎上加上了一些探頭的點來記錄光源的資訊。探頭越多,效果就越明顯。各位如果有興趣,可以深入的研究一下,探頭怎樣分佈,效果才是最好的。

相關文章