分類:Unity、C#、VS2015編輯器
建立日期:2016-05-19性能
Unity 5.3.4的Lighting Window有3個選項卡:Object、Scene、Lightmaps。測試
利用該選項卡,能夠在場景中選擇對象的子集並更改其設置,即選擇哪些對象應該參與 GI 計算。這些選項設置將會始終應用於你選擇的對象組。優化
一、All線程
選項卡的頂部是一組場景篩選按鈕,即在層次視圖中顯示哪些類型 ︰ 燈光,渲染,地形。選擇【All】將顯示全部類型。若是選擇其餘按鈕,則層次視圖中將僅顯示這些對象類型。翻譯
注意,該篩選器並不影響當前選中的對象,它只是有選擇地僅顯示篩選的對象。htm
二、Lights對象
注意該圖的下方默認勾選了「Auto」,表示Unity自動對其進行預處理,大部分狀況下,你不須要更改它就能獲得很是好的效果。blog
對於光對象,影響 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) 的數量。高採樣值將消除半影中的噪點,但會增長渲染次數。
三、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 可能會明顯地影響其餘對象。這可確保對未優化的對象採用合適的照明效果。
四、Terrains
(1)Lightmap Static
告訴Unity這些對象的位置是固定不變的因此它應該參與 GI。若是對象未標記爲靜態貼圖(Static),還能夠繼續使用採光點(Light Probes)來照明。
(2)Scale in Lightmap
見Renders下的該屬性功能描述。
(3)Advanced Parameters
地形設置默認參數是很是低的分辨率內置組。若是你但願修改它,可修改該組下的參數。
場景選項卡應用於場景總體而不是單個對象的設置。這些設置可控制照明效果和優化選項。
注意該圖的下方默認勾選了「Auto」,表示Unity自動對其進行預處理,大部分狀況下,你不須要更改它就能獲得很是好的效果。可是,若是你仍然但願本身手動更改更多的參數,須要先不勾選「Auto」。
一、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增長線程來實現的,對於多內核處理器來講,這種性能損失相對來講要小得多。
二、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 計算中的反射光線分辨率用於烘焙貼圖,即二者使用相同的分辨率。這提升了貼圖的視覺質量,但代價是增長了在編輯器中的烘培貼圖時間。
三、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
以像素爲單位的全光照貼圖紋理。即:將單個對象的紋理合並後所佔用的區域大小。
四、Fog
(1)Fog Color
在場景中繪製的霧的顏色。注意霧在遞延渲染路徑(Deferred rendering path)下不可用。
(2)Fog Mode
攝像機與霧化的距離。按照霧化升序排列,選項包括:線性(Linear)、指數(Exponential)和指數平方(Exponential Squared)。
(3)Start
(僅可用於線性霧化模式)相機到霧開始處的距離。
(4)End
(僅可用於線性霧化模式)相機到霧徹底掩蓋場景物體的距離。
顯示 GI 過程所生成的光照貼圖資產文件。
注意該圖的下方默認勾選了「Auto」,表示Unity自動對其進行預處理。可是,若是你但願本身手動更改更多的參數,須要先不勾選「Auto」。
單擊貼圖快照框中的文件名,項目視圖將顯示對應的資源文件。單擊快照框右下角的【Select】,將出現對象選擇窗口,經過它可選擇不一樣的光照貼圖。
若是重命名當前貼圖資源的文件夾,則光照貼圖快照將設置爲None,下次生成貼圖時會建立新的文件。這樣就可使用多個貼圖文件,利用這個特色,就能夠測試不一樣GI設置和比較不一樣的參數集。
貼圖快照框中的圖像顯示預覽的貼圖,這些貼圖僅用於被烘培的光(Baked lights)。對於實時光(Realtime lights)來講,預覽將顯示爲空白。