在Unity里,預計算是在后臺執行,不管是自動流程或是手動啟用,計算期間你都可以繼續編輯你的游戲對象而不受影響,預計算的時候會在右下角出現一個進度條,不同的算法會有不同的運算階段,進度條上方也會顯示階段名稱與進度。
從上面的例子可以看出,11個工作已經進展到第5個,”叢集”還有108件工作要執行完才會到第6個會話,數值狀態欄表如下:
啟用一個預計算(Starting a Precompute)
只有靜態對象會被納入GI預計算,要讓預計算啟動首先必須最少要有一個靜態對象,不管是單獨設定對象或是從層級選單用Shift + 選擇多個對象后一次修改。
從Inspector屬性面板,將對象的Static勾選起來,這會將該物體所有跟靜態對象相關的標識打開,包含導航標識或是批處理標識,這或許不是你想要的,針對預計算只要把”Lighting Static”這個標識打勾即可。
更細部的控制,只要點選屬性接口Static右邊的下拉式選單即可,此外,從Window里的Lighting接口也能指定設定靜態對象。
如果你的場景設為自動(Lighting->Scene->Auto),Unity的預計算就會自動啟動,否則就需要用下列的流程手動執行。
自動/手動預計算(Auto/Manual Precompute)
假如Lighting接口底下Auto這個選項是被勾選的(Lighting->Scene->Auto),那么預計算就會自動在后臺隨不停改變的場景產出的靜態幾何。但如果這個勾選沒勾,你將需要點擊在Auto旁邊的”Build”按鈕手動啟動預計算,這會用同樣的方式進行預計算,讓你比較好控制計算的開始時間。手動啟動預計算會對場景所有的照明與各方面進行重新評估并重新計算,如果你希望有選擇性的計算,可以從”Build”旁邊的下拉選單來選擇。
GI緩存(GI Cache)
無論是烘焙還是預計算系統,Unity會”緩存”場景的光照數據到”GI緩存”,并會在計算時嘗試重復運用這些數據來節省時間,你對場景的改變會影響這個數據重復利用的多少。
如果你要清除這個緩存可以從(Preference->GICache->Clear Cache)來清除,清除后代表所有數據都必須重新運算,因次會花費一些時間,在某些情況下你也許需要降低硬盤占用空間大小(例如要把項目轉到另外一臺計算機)是有幫助的。