Unity的全局光照(GI)
什么是GI:
全局光照(global illumination)是一種對直接光和間接光進(jìn)行計算來達(dá)到更逼真的光照效果的技術(shù),可以提供實時光和烘焙光的間接照明,讓場景更加真實。
在unity中,有兩種全局光照,分別是Realtime GI和Baked GI。

Realtime GI:對靜態(tài)物體進(jìn)行光線反彈部分?jǐn)?shù)據(jù)的預(yù)計算,在運行時可以支持實時光線反彈。
弊端:由于計算實時GI會有一定的延遲,所有不適合快速變化的燈光。適合晝夜變化和明暗緩慢變化的光源。
Baked GI:烘焙全局光照,經(jīng)過計算后把光照信息存儲在光照貼圖(lightmap)上。
好處:經(jīng)過烘焙后的顯示效果好、性能消耗低,可以在移動設(shè)備上流暢的運行。
弊端:經(jīng)過烘焙后的光源都是固定的,不能有變化。
在游戲的場景制作中一般都會啟用Baked GI來獲得更好的光照效果,讓場景中的物件產(chǎn)生對光照的相互影響,獲得更符合現(xiàn)實的光照效果。

使用烘焙GI的整體流程:
1.設(shè)置場景正確的環(huán)境光照
環(huán)境光照是場景的基礎(chǔ)整體光照,會對后續(xù)所有的燈光產(chǎn)生影響,所以在設(shè)置環(huán)境光時要充分考慮場景要表現(xiàn)的氛圍,才能正確的選擇環(huán)境光。
2.開啟烘焙GI
要先勾選lighting面板中的GI開關(guān),場景中的燈光才能真正的切換到mixed和baked模式。

3.燈光參數(shù)
場景中的燈光要設(shè)置為mixed或者baked才能進(jìn)行正確的烘焙。

4.選擇物體是否參與GI
場景中只有勾選了contribute GI的物體才會參與烘焙,開始烘焙前要勾選static的contribute GI,早期的unity中這個參數(shù)直接就叫做lightmap static


5.調(diào)節(jié)GI參數(shù)
根據(jù)項目需要正確的調(diào)整烘焙參數(shù),一般項目中會提供規(guī)范,將這些參數(shù)統(tǒng)一在一個范圍之中,特殊需求的場景除外。

6.執(zhí)行烘焙
場景默認(rèn)時勾選auto generate的,每次對場景進(jìn)行改動都會自動開始烘焙,如果不想要的話就要主動去掉這個復(fù)選框,用右邊的generate lighting按鈕自行烘焙。

完成烘焙之后,場景中的燈光關(guān)閉或者刪掉都不用影響現(xiàn)有的場景光照效果,因為光照信息都已經(jīng)被存儲在光照貼圖上了。