Unity5 新功能解析 GI 全域性光

2022-08-18 07:57:21 字數 1821 閱讀 5176

構成 : 可實時更新的lightmap + 可實時更新的光照探頭(light probe)+ 可實時更新的cubemap(reflection probe)

實時全域性光只實時計算物體之間的bounce light(物體之間來回反射的光)

實時全域性光的實現:靜態物體之間的bounce light可以在預先計算階段搞定(light map)

被靜態物體照射到的動態物體,通過實時更新的光照探頭搞定

被動態物體照射到的物體,還不支援

相比unity4來講,多出來的實時全域性光部分應該是多出了lightmap 光照探頭這些可以實時更新 而不是定死的

如下圖在光源變化下,靜態物體的對地板的反射綠色光也在跟著變化

此外unity5裡面的標準材質的自發光在全域性光計算中可以當做光源,即可以照亮周圍物體並產生陰影,這是乙個很屌的效果!,如下圖,

,可以調節emission的gi模式,

自發光的gi效果如圖

這可以表現乙個很真實的發光體,相信看到這美術同學應該有點小激動吧~

unity5 的全域性光照除了新引入的實時gi之外,也有過去的離線烘焙的方式,或者也可以選擇二者合用的方式(不過這不是乙個省效率的方式)

將light的baking設為baked,標記那些static的物體,在lighting window中的baked gi對應的就是烘焙的實時光,所以這是要把precomputed reatime gi關閉

將light的baking設為realtime,標記那些static的物體,在lighting window中將baked gi關閉,將precomputed realtime gi開啟,注意預設precomputed realtime gi的resolution並不高,如果想得到比較不錯的效果,可以將它調高。在執行時就可以看到實時的gi效果

這可能是更加主要的做法,即static的物件採用離線的烘焙gi,而非static的物件使用實時的區域性光照,這需要將light調為mixed,然後將lightmap裡面開啟baked gi,而將realtime gi 關閉。

通常為了提公升間接光照的質量,可以將light裡面的bounce intensity提高,和lightsetting 裡面 general gi的indirect intensity也提高。此外還可以在light setting裡面設定天空盒和環境光。

unity5的scene檢視裡面有多提供了乙個檢視irradiance 來檢視動態物體間的間接光照

這是unity5的實時gi新增的一部分,我們可以在場景的某個區域建立乙個reflection probe,這點的環境對映資訊就會被儲存下來,當有動態物體進入的時候,就可以被貼上這個cubemap。如下圖是乙個球進入了這個區域感受到了這個點處的環境對映。

Unity5 新功能解析 GI 全域性光

面積光的光源有形狀,是乙個矩形區域,有位置,有方向,方向是超矩形的一面,矩形的背面沒有光,並且隨距離衰減直到沒有。它用於模擬大量的光源和在一起的效果,如街道,但是因為計算複雜,所以只用於烘焙 構成 可實時更新的lightmap 可實時更新的光照探頭 light probe 可實時更新的cubemap...

HTML 5之表單新功能解析

時光車輪滾滾碾來 前端之路永無止歇 對於這個前端這門精一多專的技術 任何一次技術革新 我們都必須第一時間去了解它學習它,比如 web世界裡這簇美豔的花朵 html 5.雖然html 5 發布之初 許多人 包括我 都覺得普及它還很遙遠 但自發布以來 許多企業級 對它的嘗試應用 比如 應用,比如canv...

zt EMF edit功能解析

from 1.emf.edit a 說明 emf.edit 位於emf.editor 和emf.ecore 之間,他起了乙個中介者的作用。他負責把來自 emf.editor的ui 相關的請求轉換成符合 emf.ecore的ui 無關的呼叫。他需要提供以下四個功能 實現用於支援 viewer 顯示的c...