我們一直致力於解決混合光照的問題,在unity 5.6 beta 2版本中加入了不斷改進後的功能。本文將為大家分享改進後的光照模式、光照面板及全新的編輯器面板light explorer。
介紹
我們想要達成的目標就是幫unity開發者提供更穩定更直覺的光照方式,並混合烘焙光照和即時光照及陰影來建置場景。unity5.6 beta 2中我們做了這些功能來達成這個目標:
1. unity舊有的realtime、mixed及baked光照模式已改為dynamic、stationary及static。
2. 採用新的 stationary
光照模式組
,它可以針對不同的環境與硬體提供一系列定義好的光照方案。
3. lighting介面也做了全面更新,同時還更新了mesh renderer和light component inspector介面。
4. 採用新的編輯器light explorer
,可以快速訪問光照、反射探針(reflection probe)、光探針(light probe)以及自發光(emissive)材質。
光照
光照可以設定為以下三種模式:
· dynamic(對應之的realtime)
· stationary(對應之前的mixed)
· static(對應之前的baked)
dynamic動態光會產生動態的光照和陰影。這些光照可以在執行時改變位置、方向、顏色、亮度以及其它屬性。這種型別的光照最靈活,並且可用來計算實時全域性光照(realtime global illumination)。動態光在執行時計算直接光照,也會透過陰影貼圖產生實時陰影,在lighting介面中啟用realtime global illumination會讓動態光源作為實時間接光而影響整個場景。間接光是由即時光照貼圖及enlighten更新的光照探針來計算的。
stationary固定光會基於光照面板中設定的stationary光照模式,來混合使用動態及烘焙光照。所有除subtractive模式以外的stationary光照模式都會在執行時計算直接光照,並在光照貼圖及光照探針中儲存間接光照的資訊。subtractive模式會在烘焙期間計算所有標記為static物件的直接光照。場景設定的stationary光照模式會影響到其中的stationary固定光。
static靜態光不能在執行時移動或做其它任何改變。所有靜態物件的光照都被烘焙到光照貼圖中。動態物件的光照和陰影會被烘焙到光照探針light probe中。
stationary光照模式
stationary固定光可以由場景中多種光照模式來控制,這些光照模式指示光照系統如何處理場景中各種光照的直接照明、間接照明及陰影。stationary固定光可用的光照模式有以下幾種:
· bakedindirect(間接烘焙)
stationary固定光會影響實時的直接光照,並透過光照貼圖和光照探針影響間接光照。如何使用實時陰影取決於shadowdistance設定。baked indirect模式的效能與效果相對平衡,適合中或高階硬體。
· distanceshadowmask(距離陰影遮蔽)
stationary固定光會影響實時的直接光照,並透過光照貼圖和光照探針影響間接光照。實時陰影的效果會根據shadowdistance設定來決定如何使用實時陰影。此外,靜態物體透過陰影遮蔽接收陰影,動態物體則透過光照探針遮蔽(occlusion)來接收陰影。distance shadowmask模式比較適合用於大型或室外場景。
· shadowmask(陰影遮蔽)
stationary固定光會影響實時的直接光照,並透過光照貼圖和光照探針影響間接光照。靜態物體使用陰影遮蔽為自己產生陰影。動態物體根據shadow distance設定所產生的實時陰影貼圖來接收陰影。動態物體從光照探針遮蔽(lightprobes occlusion)中接收靜態物體的陰影。shadowmask模式適合用於那些只需為場景中角色或道具增加實時陰影的情況。
· subtractive
stationary固定光透過光照貼圖和光照探針影響間接光照。靜態物體通過光照貼圖處理直接光照,動態物體則實時處理。靜態物體通過近似的實時陰影的貼圖從主方向光接收動態物體的陰影,實時陰影的效果貼圖取決於shadow distance設定。動態物體透過實時陰影來接收彼此的陰影,實時陰影取決於shadowdistance設定。動態物體通過光照探針接收靜態物體的陰影。subtractive模式消耗極小,適合用於整個場景只有乙個定向光(通常指太陽)的情況,並且能夠支援低階的移動裝置。
ui使用者介面
我們對lighting介面也做了全面更新,同時還更新了mesh renderer和light component inspector介面,概述如下。
lighting介面
lighting介面相比舊版更直覺更好用。改變如下:
l 光照介面不需要的地方現在可以連裡面的屬性顯示一起折迭起來。
l 我們重寫了卷標及提示資訊,更友善也能提供更多資訊給開發者。
l 光照介面底部整合了新的統計面板,可以快速檢視場景中光照相關的統計資訊。
l lightmaps頁籤改名為「globalmaps」,顯示包含多種貼圖如intensity、directionality、shadowmask等等。
l 重建object頁籤並重命名為object maps。顯示當下選擇物件的烘焙貼圖預覽。可以平移及縮放標籤下的檢視,也可以用f快捷鍵把焦點移到這個物體的光照貼圖uv上。之前顯示在object頁簽下的屬性都已重新分配到對應元件的檢視面板上。可用檢視如下:
▪ albedo
▪ emissive
▪ realtime intensity
▪ realtime direction
▪ baked intensity
▪ baked direction
▪ baked shadowmask
檢視面板(inspector)
光照面板的object頁籤重建後,所有光照相關的屬性都已改為顯示在對應的元件中。
比如meshrenderer元件帶有可折迭的標籤lighting,裡面包含所有能影響網格與光照系統互動的屬性。啟用lightmap static屬性會將所有物體設為靜態(static,同檢視面板的static),用於光照貼圖計算。其中也包含光照貼圖相關的各種屬性。
我們也重建了light元件,包含新的光照模式(dynamic,stationary,static),卷標顯示也更友善。另外還重寫了所有提示資訊,使用者能更明白屬性的具體作用。
lightexplorer
light explorer是unity 5.6 beta 2中的新介面,可以檢視編輯場景中的每個光照。這對於那些光照分布在層級檢視上不同位置的大型複雜場景非常有用。explorer中有4個列表,分別用於調整光照、反射探針、光照探針以及自發光材質。每個表都支援搜尋功能,幫開發者找到想編輯的物件,還能使用lock selection鎖定當下的選項,即使場景選中的物件改變也不會影響光照面板。這些列表還支援複數編輯,可同時選擇多個物件編輯某個屬性的值。
Unity5 6到2018 2的部分更新內容整理
開新專案,對比了unity幾個版本內容,記錄下,方便後續看。官方 unity 5.6正式版發布,unity 2017即將來臨 unity 5.6.x是unity 5.x週期的最終版本,於2017年開始使用新的版本號命名系統。unity 2017開啟unity版本號命名新時代 官方 unity 201...
深入理解unity5 6版本ui布局功能
從表面上看,unity5.6的和unity5.3的布局功能沒有太大的差別,其中verticallayoutgroup,只比unity5.3多兩個引數即否控制子物件的寬度或高度.但在使用的時候可以實現的效果就遠遠超過預設控制寬度和高度的布局器強大多了.對於多層巢狀的布局來說,實際上難度還是有比較大的,...
unity5 6 x霧的使用
1.在window視窗中找到lighting開啟settings 2.找到fog選擇,上圖包含了一些設定 霧的顏色,模擬霧採用的方法,霧的濃度 只在採用指數方法時有用 受霧影響的距離起點和終點 只在採用線性方法時有效 1 linear 即線性可配引數start end兩個距離,霧效從start開始越...