放置光照探針
要將光照探針置于場景中,必須使用已附加__光照探針組 (Light Probe Group)__ 組件的游戲?qū)ο蟆?蓮牟藛?Component > Rendering > Light Probe Group?添加“光照探針組”組件。
可將“光照探針組”組件添加到場景中的任何對象,但最好將其添加到新的空游戲?qū)ο蟆?/p>
光照探針組有自己的__編輯模式 (Edit Mode),可開啟或關(guān)閉此模式。要添加、移動或刪除光照探針,必須按?Edit Light Probes__ 按鈕來開啟光照探針組的編輯模式:

使用編輯光照探針 (Edit Light Probes) 模式時,可按照與游戲?qū)ο箢愃频姆绞絹聿僮鲉蝹€光照探針,但是單個探針不是游戲?qū)ο螅鼈冏鳛橐唤M點存儲在“光照探針組”組件中。
開始編輯新的光照探針組時,將從一個立方體中排列的八個探針的默認(rèn)編隊開始,如下所示:

現(xiàn)在可以使用光照探針組 (Light Probe Group) 檢視面板中的控件向該組添加新的探針位置。探針在場景中顯示為黃色球體,這些球體可按照與游戲?qū)ο笙嗤姆绞蕉ㄎ弧_€可以使用常規(guī)的“復(fù)制”鍵盤快捷鍵 (ctrl+d/cmd+d) 來選擇和復(fù)制單個探針或按組進行這些操作。
完成探針的編輯后,__關(guān)閉__光照探針組編輯模式,否則無法移動或操作常規(guī)對象!
選擇光照探針位置
與通常在對象表面具有連續(xù)分辨率的光照貼圖不同,光照探針信息的分辨率完全由放置探針的緊密程度決定。
為了優(yōu)化光照探針存儲的數(shù)據(jù)量以及游戲在進行時完成的計算量,通常應(yīng)嘗試盡可能少量放置光照探針。但是,在可以接受的范圍內(nèi),建議放置足夠多的探針記錄一個空間到另一空間的光線變化。這意味著,在具有復(fù)雜或高對比度光線的區(qū)域周圍可提高光照探針的放置密度,而在光線沒有顯著變化的區(qū)域可降低它們的放置密度。

在以上示例中,建筑物附近和之間的對比度和顏色變化較大,因此探針放置得較密集,而沿著道路的光照沒有顯著變化,因此放置密度較小。
定位探針的最簡單方法是將它們排列成常規(guī) 3D 網(wǎng)格圖案。雖然此設(shè)置簡單有效,但可能會消耗不必要的內(nèi)存,并可能有大量冗余的探針。例如,在以上場景中,如果沿著道路放置大量探針,將會浪費資源。光照沿著道路的長度不會發(fā)生太大變化,因此許多探針將大多數(shù)相同的光照數(shù)據(jù)存儲到相鄰探針中。在此類情況下,通過在稀疏探針之間插入此光照數(shù)據(jù),效率會高得多。
光照探針不會單獨存儲大量信息。從技術(shù)角度來看,每個探針都是來自采樣點的球形全景 HDR 圖像,使用存儲為 27 個浮點值的球諧函數(shù) L2 進行編碼。然而,在具有數(shù)百個探針的大型場景中,這些探針可以累加,而設(shè)置密集度過高的探針可能導(dǎo)致游戲中大量內(nèi)存浪費。
創(chuàng)建體積
即使游戲位于 2D 平面上(例如,在路面上行駛的汽車),光照探針也必須形成 3D 體積。
這意味著探針組中至少應(yīng)有兩個垂直“層”的點。
在以下示例中,在左側(cè)看到探針僅排列在地面上。因為光照探針系統(tǒng)無法從探針計算明顯的四面體體積,所以這種排列方式__不會產(chǎn)生良好光照__。
在右側(cè),探針排列為兩層,一些低至地面,另一些高于地面,因此它們一起形成由大量單個四面體組成的一個 3D 體積。這是一種__良好__的布局。

放置光照探針以實現(xiàn)動態(tài) GI
Unity 的實時 GI 允許移動光源針對__靜態(tài)__景物投射動態(tài)反射光。但是,使用光照探針時,還可從__移動游戲?qū)ο骭_上的移動光源接收動態(tài)反射光。
因此,光照探針執(zhí)行兩個非常相似但不同的功能:它們存儲靜態(tài)烘焙光源,并在運行時代表動態(tài)實時全局光照(GI 或反射光)的采樣點來影響移動對象上的光照。
所以,如果要使用動態(tài)移動光源,并希望移動游戲?qū)ο笊嫌袑崟r反射光,這可能會影響放置光照探針的位置以及將它們分組的密集程度。
在這種情況下要考慮的要點是,對于大面積范圍內(nèi)相對不變的靜態(tài)光源,因為光照不會在大面積范圍內(nèi)變化,只需放置少數(shù)幾個探針。但是,如果計劃在此區(qū)域內(nèi)使用移動光源,并且希望移動對象用來接收反射光,則需要在該區(qū)域內(nèi)建立更密集的光照探針網(wǎng)絡(luò),以便有足夠高的準(zhǔn)確度來匹配光源的范圍和樣式。
放置探針需要的密集程度因光源的大小和范圍、其移動速度以及希望接收反射光的移動對象的大小而異。
光照探針放置問題
對光照探針位置的選擇必須考慮到光照將在探針組之間進行插值的情況。如果探針不能充分適應(yīng)場景中光照的變化,可能會出現(xiàn)問題。
以下示例顯示了一個夜間場景,兩側(cè)有兩個明亮街燈,中間有一個暗區(qū)。如果光照探針僅放置在街燈附近,而在暗區(qū)中沒有放置,則街燈的光照將跨越黑暗間隙“滲透”到移動對象上。這是因為光照會從一個亮點插入到另一亮點,而沒有關(guān)于暗區(qū)的信息。

如果使用實時或混合光源,此問題可能不太明顯,因為只有_間接_光才會跨越間隙滲透。如果使用完全烘焙光源,問題會更明顯,因為此情況下也會從光照探針插入移動對象上的直射光。在此示例場景中會烘焙兩個街燈,因此移動對象從光照探針獲得直射光。在下圖中,可看到結(jié)果:一個移動對象(救護車)在穿過暗區(qū)時仍然獲得明亮光照,這不是想要的效果。黃色線框四面體顯示出,插值發(fā)生在街道明亮光照的一端與另一端之間。

這是不想要的效果:救護車在穿過暗區(qū)時仍然獲得明亮光照,因為在暗區(qū)中沒有放置光照探針。
要解決此問題,應(yīng)該在暗區(qū)中放置更多探針,如下所示:

現(xiàn)在場景的暗區(qū)中也有了探針。因此,移動的救護車從場景的一側(cè)移動到另一側(cè)時,救護車上的光照更暗。

現(xiàn)在,救護車在場景中心時,車上的光照更暗,這符合要求。