分類:Unity、C#、VS2015
創建日期:2016-05-19
一、簡介
Unity 5.3.4的Lighting Window有3個選項卡:Object、Scene、Lightmaps。
二、Object(對象選項卡)
利用該選項卡,可以在場景中選擇對象的子集並更改其設置,即選擇哪些對象應該參與 GI 計算。這些選項設置將會始終應用於你選擇的對象組。
1、All
選項卡的頂部是一組場景篩選按鈕,即在層次視圖中顯示哪些類型 ︰ 燈光,渲染,地形。選擇【All】將顯示所有類型。如果選擇其他按鈕,則層次視圖中將僅顯示這些對象類型。
注意,該篩選器並不影響當前選中的對象,它只是有選擇地僅顯示篩選的對象。
2、Lights
注意該圖的下方默認勾選了“Auto”,表示Unity自動對其進行預處理,大部分情況下,你不需要更改它就能得到非常好的效果。
對於光對象,影響 GI 的主要屬性是【烘培(Baking)】和【反彈強度(Bounce Intensity)】。
(1)顏色 (Color)
燈光顏色。實時渲染采用相同屬性。
(2)烘培(Baking)
如果選擇了【Baked GI】,該選項指定使用哪種烘培方式。選項有:
Mixed:利用全局光照(GI)對靜態的場景進行光照烘培,並且在運行時顯示烘培結果並給非靜態對象直接照明。該方式能兼容早期的版本。
Realtimes:對“實時GI”進行預處理,而且在運行時顯示烘培結果並給非靜態對象直接照明。該方式僅適用於Unity 5,早期的版本中沒有此選項。
(3)強度 (Intensity)
直接光的強度。注意“直接光”不是“方向光”。
(4)反彈強度 (Bounce Intensity)
間接光的強度,即直接光照射到物體上反彈的光的強度,該值大於1時值越大物體反射的陰影越輕(整個場景看起來越明亮),小於1時該值越小物體反射的陰影越重,該值為0表示無陰影。
(5)其他
下面的參數僅在有些光源下才能顯示出來:
【陰影半徑 (Shadow Radius)】:(僅用於點光源和聚光燈)增加該值形成直接軟陰影,增加該燈光投影(而非照明)的覆蓋面積計算。
【陰影角度 (Shadow Angle)】:(僅用於方向燈)增加該值形成直接軟陰影,增加該燈光投影(而非照明)的角度覆蓋面積計算。
【陰影采樣 (Shadow Samples)】:如果將陰影半徑 (Shadow Radius) 或角度 (Angle) 值設為大於零的數,將相應增加陰影采樣 (Shadow Samples) 的數量。高采樣值將消除半影中的噪點,但會增加渲染次數。
3、Renderers
(1)Lightmap Static
控制是否對靜態對象在渲染時使用光照貼圖。勾選表示標記為Static的對象其位置是固定的所以它應該參與 GI。如果對象未標記為Static,還可以繼續使用光探頭(Light Probes)來照亮它。
網格渲染器和地形 (Mesh Renderers and Terrains) 須標為靜態才能進行烘培。
(2)Scale in Lightmap
靜態貼圖的范圍比例。該值影響貼圖紋理中用於所選對象的像素數,默認值為1.0,表示用於對象的光照貼圖像素數只依賴於它的表面積 (即同一像素數目每單位面積為所有對象),即:影響光照貼圖分辨率(lightmap resolution),值越大分辨率越高。值大於 1.0 增加像素數;小於 1.0 時降低像素數。
最終分辨率將按比例呈現,即:光照貼圖縮放 (Scale))Í(對象的世界坐標空間所占面積)Í(全局烘培設置分辨率 (Resolution) 值)。值設置為 0 表示不烘培對象(但仍會影響其他烘培對象)。
利用此屬性可優化光照貼圖的質量,以便更准確地照亮重要的需要詳細渲染的區域。例如,在建築物中,色彩繽紛的摩托車應該使用高比例值,而與其一起呈現的其他建築物等對象應該使用低光照貼圖規模(小於 1.0 的值)。
(3)Preserve UVs
是否保護 UVs。Unity可以重新計算用於實時光照貼圖紋理的 UV 坐標,以提高其存儲和性能。注意:重新計算流程有時可能會導致不連續的UV映射。例如,鋒利的邊緣可能會被誤解為一個連續的表面,從而導致焊縫出現在不應該出現的地方。
如果啟用了保護 UVs 然后烘焙,則對象的UVs 都將被翻譯成貼圖保留下來以免對其造成影響。
如果關閉了保護 UVs ,則Unity將基於baked UVs來計算實時光照貼圖,通過加入相鄰的"圖表"使貼圖更緊湊。這種計算基於兩個參數的設置:最大距離(max distance)和最大角度(max angle)。實時圖表會自動擠滿半像素的邊框,以確保得到無尖峰呈現。
(4)Auto UV Max Distance
自動計算 UV 的最大距離。即:通過合並 UV 圖表自動生成簡化的 UVs。如果圖表之間的世界空間距離小於此值,則只簡化圖表。
(5)Auto UV Max Angle
通過合並 UV 圖表自動生成簡化的 UVs。如果圖表之間的夾角小於此值,則只合並圖表,而不生成簡化的 UVs。
(6)Important GI
告訴Unity光反射是否很重要。如果選中,表示物體發出的GI 可能會明顯地影響其他對象。這可確保對未優化的對象采用合適的照明效果。
4、Terrains
(1)Lightmap Static
告訴Unity這些對象的位置是固定不變的所以它應該參與 GI。如果對象未標記為靜態貼圖(Static),還可以繼續使用采光點(Light Probes)來照明。
(2)Scale in Lightmap
見Renders下的該屬性功能描述。
(3)Advanced Parameters
地形設置默認參數是非常低的分辨率內置組。如果你希望修改它,可修改該組下的參數。
三、Scene(場景選項卡)
場景選項卡應用於場景整體而不是單個對象的設置。這些設置可控制照明效果和優化選項。
注意該圖的下方默認勾選了“Auto”,表示Unity自動對其進行預處理,大部分情況下,你不需要更改它就能得到非常好的效果。但是,如果你仍然希望自己手動更改更多的參數,需要先不勾選“Auto”。
1、Environment Lighting(與環境相關的光照貼圖參數)
(1)Skybox
如果是室內,此項應為None,此時場景的整體效果還需要靠其他燈光來照亮。如果是室外,可通過此項選擇使用哪個天空盒。
(2)Sun
當使用天空盒時,可以通過該屬性指定“太陽”光的方向(或大小、光源的距離等)。如果該屬性設置為None,表示用場景中最亮的定向光代表太陽。
(3)Ambient Source
環境光是指所有周圍的場景並不是來自任何特定的光源對象。環境光的光源有三個選項。
顏色(Color):所有的光線在場景中使用的顏色。
梯度(Gradient):從天空、地平線和地面分別選擇環境光的顏色,然后對其進行漸變融合。
天空盒(Skybox):使用天空盒的顏色來確定來自不同角度的環境光的光線,這種方式比簡單的簡便融合效果更好。
(4)Ambient Intensity
場景中光線的亮度。
(5)Ambient GI
是否允許指定應用於處理光線的 GI 模式 (Precomputed Realtime或Baked)。除非為場景啟用了這兩種模式之一,否則此屬性不起作用。
(6)Reflection Source
是否使用天空盒的反射效果。默認為“是”。“否”表示用另外一個立方體貼圖來替代。如果選擇了用天空盒作為源,則還會提供一個附加的選項,用於設置天空盒的反射。
(7)Reflection Intensity
反射源(天空盒或立方體貼圖)的反射強度在對象中是否可見。
(8)Reflection Bounces
一個對象被另一個對象“反彈”光發生的反射,該屬性是通過對場景中捕獲的反射探頭(Reflection Probes)來計算的。此屬性表示通過設置的采光點(probes)來計算對象之間來回反彈的次數。如果該屬性值為1,則只將其初始化為從天空盒或立方體貼圖反射源屬性中指定的值。
(9)Realtime Resolution(實時分辨率)
實時分辨率。該屬性設置用於被“realtime GI”點亮的每單位紋理的像素數(即"紋理像素")。該屬性值通常設置為1 比較好,表示根據場景中物體的大小來決定分辨率。但對於地形和巨大對象來說,通常要縮小該值。可以在光照貼圖(Lightmap)屬性中使用貼圖參數(Lightmap Parameters)或網格渲染規模(Mesh Renderer’s Scale)來降低分辨率。
注意,如果已啟用了Realtime和Baked GI,此屬性也將設置間接光的分辨率。
(10)CPU Usage(CPU占用率)
設置是否應在運行時評估Realtime GI占用CPU的時間。CPU使用率過高雖然會提高光照貼圖的反應效率,但可能影響幀率等其他渲染性能。
在編輯器中執行的預計算過程並不會影響運行時的CPU使用率。
注意,提供CPU利用率的辦法是通過為GI增加線程來實現的,對於多內核處理器來說,這種性能損失相對來說要小得多。
2、Baked GI(烘培GI)
(1)Baked Resolution(烘培分辨率)
被烘培對象每單位長度占用的紋理像素數,(即"紋理像素")。一般將其設置為比實時分辨率(Realtime Resolution)高十倍左右。
(2)Baked Padding
烘焙貼圖中被分離的形狀之間的間隔大小。
(3)Compressed
是否對應烘焙的貼圖紋理進行壓縮。壓縮的貼圖需要的存儲空間更少,但壓縮過程可能引入不希望出現的多余的紋理痕跡。
(4)Indirect Resolution
間接光的分辨率(僅在禁用了Precomputed Realtime GI的情況下該屬性才可用)。
計算間接照明時使用的分辨率。該值等價於使用Precomputed Realtime GI時使用的實時分辨率(Realtime Resolution)。
(5)Ambient Occlusion
環境遮擋表面的相對亮度(例如局部遮擋的光線,室內角落里的光線等)。值越高表示的閉塞和完全點亮區域的對比度越高。該屬性僅適用於GI系統中間接光的計算。
(6)Final Gather
是否啟用最后收集選項。啟用時,最后把GI 計算中的反射光線分辨率用於烘焙貼圖,即兩者使用相同的分辨率。這提高了貼圖的視覺質量,但代價是增加了在編輯器中的烘培貼圖時間。
3、General GI
(1)Directional Mode(定向模式)
在光照貼圖中存儲對象表面的入射光信息。即存儲占主導地位的每個點的入射光信息。在定向模式中(Directional mode),生成的第二個貼圖用來存儲傳入的主導方向光。這會導致用於GI的材質的法線貼圖彌漫(diffuse)在場景中。在定向鏡面反射模式中(Directional Specular mode),允許存儲更多數據來納入鏡面反射和法線貼圖全遮光產生的陰影(full shading)。
非定向模式(Non-directional mode)關閉了這兩個選項。與非定向模式相比,定向模式需要多一倍的存儲空間來附加貼圖數據;定向鏡面反射模式需要四倍的存儲空間來保存關照貼圖占用的紋理內存。
進一步的詳細信息,請參見定向烘焙。
(2)Indirect Intensity(間接光的亮度)
最后生成的光照貼圖間接光的亮度。將此設置為 1.0 使用默認亮度。小於 1.0 降低照亮的強度,大於 1.0 增加亮度。
(3)Bounce Boost
從表面到其他表面上的光要增加的反彈量的縮放值。默認值是 1.0,表示沒有增加。
(4)Default Parameters
在Unity 5的Lighting窗口的屬性中,除了光照貼圖外,其他均使用一組通用的參數。此屬性菜單已經給出了一些默認值。此外,你還可以通過創建自己的光照貼圖參數文件來創建新的選項。更多詳細信息請參閱光照貼圖參數頁。
(5)Atlas Size
以像素為單位的全光照貼圖紋理。即:將單個對象的紋理合並后所占用的區域大小。
4、Fog
(1)Fog Color
在場景中繪制的霧的顏色。注意霧在遞延渲染路徑(Deferred rendering path)下不可用。
(2)Fog Mode
攝像機與霧化的距離。按照霧化升序排列,選項包括:線性(Linear)、指數(Exponential)和指數平方(Exponential Squared)。
(3)Start
(僅可用於線性霧化模式)相機到霧開始處的距離。
(4)End
(僅可用於線性霧化模式)相機到霧完全掩蓋場景物體的距離。
四、Lightmaps(光照貼圖選項卡)
顯示 GI 過程所生成的光照貼圖資產文件。
注意該圖的下方默認勾選了“Auto”,表示Unity自動對其進行預處理。但是,如果你希望自己手動更改更多的參數,需要先不勾選“Auto”。
單擊貼圖快照框中的文件名,項目視圖將顯示對應的資源文件。單擊快照框右下角的【Select】,將出現對象選擇窗口,通過它可選擇不同的光照貼圖。
如果重命名當前貼圖資源的文件夾,則光照貼圖快照將設置為None,下次生成貼圖時會創建新的文件。這樣就可以使用多個貼圖文件,利用這個特點,就可以測試不同GI設置和比較不同的參數集。
貼圖快照框中的圖像顯示預覽的貼圖,這些貼圖僅用於被烘培的光(Baked lights)。對於實時光(Realtime lights)來說,預覽將顯示為空白。