Unity 2022.2 技術更迭版,全局光照大更新

來源:Unity
作者:Unity
時間:2023-01-12
3488
隨著 2022.2 Tech Stream 版本發(fā)布,Progressive Lightmapper 光照烘焙功能迎來了大幅提升,將做為 Enlighten 的升級解決方案為廣大開發(fā)者帶來更高效、穩(wěn)定的使用體驗。
隨著 2022.2 Tech Stream 版本發(fā)布,Progressive Lightmapper 光照烘焙功能迎來了大幅提升,將做為 Enlighten 的升級解決方案為廣大開發(fā)者帶來更高效、穩(wěn)定的使用體驗。
在降噪功能方面,我們不僅在新版本中增加了 HDRP(高清渲染管線) 路徑追蹤降噪功能,可實現(xiàn)無噪點的路徑追蹤圖像,還發(fā)布了 Optix 第 7 版降噪器和 Unity Denoising 軟件包及公共 API,降低了降噪功能的內(nèi)存占用,增加了不同降噪后端的適配性。
Adaptive Probe Volume(自適應探針體積) 中也增加了多個關鍵功能,包括光泄露防護功能、GPU 內(nèi)存流式傳輸功能及預覽功能,讓開發(fā)者能更好地處理多個場景的光照數(shù)據(jù)。
本文將一覽以上重大更新,并和大家分享全局光照未來將推出的關鍵功能。

Enlighten Baked GI 棄用

Enlighten Baked GI 的棄用將不會影響 Enlighten Realtime GI,我們將繼續(xù)支持 Enlighten Real-time GI,直到 Unity 2024 LTS 結束,下圖中簡要介紹了 Enlighten Baked GI 的棄用計劃。
在計劃中我們將增加 Enlighten Real-time GI 對 URP(通用渲染管線) 的支持,并將啟用對 HDRP 的支持。此外,該 GI 將擴展支持 Apple Silicon, Sony PlayStation(R) 5 和 Microsoft Xbox Series X|S 平臺。

Enlighten Baked GI 計劃概覽

Enlighten Real-time GI 計劃概覽
對于全局光照烘焙,我們著重于提高 GPU Lightmappper 的穩(wěn)定性和兼容范圍,希望為開發(fā)者提供一款高效、穩(wěn)定的解決方案。
我們正按計劃逐漸棄用 Enlighten,首先將會從 Enlighten Baked GI 開始。Lightmapper 已經(jīng)作為該 GI 的替代方案被使用了數(shù)個版本。如果您正使用 Enlighten Baked GI,并且打算升級至 2022.2 及以上版本,推薦您在新版本中使用 Lightmapper。
短期內(nèi)仍支持 Enlighten Baked GI,供開發(fā)者在過渡期間使用。通過打開 Edit > Project Settings > Graphics,即可勾選并重新啟用 Enlighten Baked GI,該功能將會在 2023.1 版本中移除。
在 2022.2 版本,API 內(nèi)的 Enlighten Baked GI 已被標注成“obsolete(廢棄)”。如果項目內(nèi)使用了 Enlighten Baked GI,且已升級至 2022.2 版本,在項目中會看到 Lighting 里的相關設定會自動切換到 Progressive CPU 烘焙(Apple silicon 設備中則會自動切換到 Progressive GPU)。在這一步中可以選擇使用 CPU 或 GPU Progressive Lightmapper。

Adaptive Probe Volume(自適應探針體積)

隨著 2022.2 的發(fā)布,我們將持續(xù)優(yōu)化 Adaptive Probe Volume 的各項功能,首先將實現(xiàn)光泄露防護功能,光泄露防護功能是向探針光靜態(tài)幾何形(probe-lit static geometry)的一個重大邁進。這樣在某些情況下,光照探針就能替換靜態(tài)對象的一些光照貼圖。
目前 Adaptive Probe Volume 已支持 GPU 內(nèi)存流式傳輸,可以在光照探針數(shù)據(jù)不兼容 GPU 內(nèi)存的情況下構建并運行場景。

Adaptive Probe Volume 的調(diào)試視圖展示了探針的密度隨場景元素密度的增加而增加(圖中資產(chǎn)源自資源商店的 ArchVizPRO Interior Vol.8)

我們還推出了烘焙多個探針光場景的預覽功能,讓開發(fā)者能快速編輯、烘焙并融合多個場景的光照數(shù)據(jù)。

探針光的場景示例,包含日間和夜間光照場景(圖中資產(chǎn)源自資源商店的ArchVizPRO Interior Vol.8)

HDRP Path Tracing Denoising(路徑追蹤降噪)

HDRP Path Tracing Denoising(路徑追蹤降噪) 可輸出無噪點的路徑追蹤圖像,無需再消耗大量時間合并未過濾樣本。注意該功能與離線及非交互渲染降噪相關聯(lián),所以不支持游戲內(nèi)的實時路徑追蹤降噪。

HDRP 模板中帶降噪(右)和不帶降噪(左)的路徑追蹤對比

Optix 7 更新

在 2022.2 中,Lightmapper 的 Optix 降噪器升級到了第 7 版,最新版中使用了平鋪法來減少內(nèi)存消耗?,F(xiàn)在,高分辨率的光照貼圖在烘焙和降噪時將占用更少內(nèi)存。

Unity Denoising 軟件包及公共 API

隨 2022.2 的發(fā)布,我們將內(nèi)部使用的圖像降噪功能組合成了 Unity Denoising 軟件包,現(xiàn)在可通過 C# 公共 API 進行訪問。開發(fā)者可以根據(jù)目標平臺和硬件的處理能力,使用該 API 選擇不同的降噪后端,例如 Optix 或 OIDN。

功能修復與優(yōu)化

更穩(wěn)定的光照探針

我們在錯誤報告里看到有部分用戶在使用 Light Probe 時,遇到編輯器在運行模式下加載和卸載部分場景時崩潰的現(xiàn)象。這些崩潰背后有許多原因,其中最常見的一個原因是:引擎不清楚當前場景的光照探針組是否做好了渲染準備,這有可能導致光照探針組的狀態(tài)被損壞。
在 2022.2 中,改進后的代碼能清楚定義光照探針組是否做好了渲染準備,修復了可能導致崩潰的光照探針組狀態(tài)損壞問題。

光照探針外殼(hull)搜索改進

此前,當受探針光對象被移出四面體外殼,需要搜索整個光照探針的四面體外殼并找到最近的光照探針,隨著殼外對象愈復雜,這一搜索過程所需的時間也就越長。
為了優(yōu)化新項目里的默認行為,Graphics 設置中將包含一個新屬性用于設定放置在殼外的探針光照對象的采樣行為,通過使用環(huán)境探針取代全面搜索,為殼外對象新添了一條加速路徑。這一功能在舊版本中也將能使用。

修復 SkyManger

修復了在某些情況下(如場景未經(jīng)烘焙時),構建好的應用中會缺少環(huán)境光照的問題。

OpenCL 內(nèi)核緩存

為了解決新項目加載 OpenCL 著色器過慢的問題,我們在 GICache 緩存了二進制文件,加快了 OpenCL 著色器的加載。在測試中,當 OpenCL 著色器從 GICache 讀取時,我們在 GPU 光照貼圖烘焙耗時方面看到了可觀的改進。
不過,因為編輯器在首次啟動時需要建立這些緩存文件,所以初次啟動的速度并不會改變。

測試環(huán)境中烘焙編譯耗時的改進

用戶體驗改進

在 2022.2 中,還有幾處提升用戶體驗的改進:
 改進了 Lighting 窗口中的字段與屬性的對齊
 New 和 Clone 按鍵在同一行,方便 Lighting Settings Assets 的創(chuàng)建
 Min 和 Max Bounces 字段合并成 Max Bounces
 改進 Gaussian 濾鏡精度至 0.1 紋素(此前鎖定在 1 紋素)
 重新組織了 Lightmap Parameters Asset 的 UI,以提高可讀性

未來計劃

在全局光照的未來發(fā)展計劃中,還有一些值得關注的關鍵功能:

Adaptive Probe Volumes(自適應探針體積)

至 2023.1,Adaptive Probe Volumes 的核心功能和用戶體驗會得到進一步改進,最終達到“experimental(實驗版)/preview(預覽版)”標簽的移除。我們還在增加 URP 對該功能的支持。注意最初版功能將不支持 Lighting Scenario Blending(光照場景混合),也難以保證在低端平臺上有明顯的性能優(yōu)化。

Precomputed Realtime GI(預計算實時 GI)

我們將提供一種實時全局光照解決方案 Precomputed Realtime Global Illumination(預計算實時全局光照),相比于 Ray Traced Global Illumination(光線追蹤全局光照,RTGI) 或 Screen Space Global Illumination(屏幕空間全局光照,SSGI),這種解決方案可擴展至更多平臺。
它所采用的預烘焙光照探針數(shù)據(jù)會在運行時動態(tài)地更新探針光照對象的間接光照,讓開發(fā)者能采用墻壁、屋頂、地面等靜態(tài)對象傳來的動態(tài)光照,來制作、構建和運行實時 GI。

Bake GI 實時預覽

為了快速預覽烘焙出的光線,我們?yōu)楹姹汗庹諗?shù)據(jù)提供了一條專門的預覽路徑以加快迭代效率。我們使用“反向”路徑追蹤(光線路徑從攝像機出發(fā))來計算可見部分的光照,讓開發(fā)者能隨時預覽場景光照。該功能可以利用硬件加速光追,也可以通過一種備用計算著色器,支持在非硬件光追在 GPU 上工作。

GPU Lightmapper 改進

隨著 GPU Lightmapper 的基礎性工作持續(xù)推進,我們將為開發(fā)者帶來更高效穩(wěn)定、可預覽的光照解決方案。

Light Baking C  API

我們希望將這些公共 API 做成強大、實用且擁有廣泛支持的 C# API。您可以用它來定義影響 GI 烘焙的輸入,比如 Mesh、Transform、Material、Light 等等;以及所生成的輸出,比如光照貼圖和探針及其單獨組件,包括輻照度(irradiance)、方向性(directionality)、遮擋(occlusion)和八面體深度(octahedral depth)等。


立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:Unity
版權說明:本文內(nèi)容來自于Unity,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多
個人VIP