Unity 最新版本迎來260項功能改進,高清渲染管線HDRP升級

Unity 最新版本迎來260項功能改進,高清渲染管線HDRP升級

最新上線的Unity 2019.3版本帶來了超過260項功能改進,其中的高清渲染管線(HDRP)功能可在高端遊戲主機和PC上解鎖高清精美畫質的無限潛能。

高清渲染管線在2019.3中經過驗證幾近純熟,帶來了全新的功能和藝術創作工具,可用於製作高保真圖像。

隨著HDRP 7.2.0版本的發佈,我們確定管線已有穩定的平臺支持和數據遷移路徑,已帶有成熟的調試工具、可拓展選項、各式藝術創作工具,以及適用於全平臺的可拓展設定。大家現在就可以正式使用起高清渲染管線了。

高清渲染管線的目標平臺是高端PC、Mac和遊戲主機(Xbox One和PlayStation 4),可製作高清晰度的逼真圖像。而在2019.3中的7.2.0版本中,HDRP已經由驗證。

管線的設計遵循三個原則:

  1. 渲染基於真實物理。
  2. 光照統一、連貫。
  3. 功能獨立於渲染路徑工作。

基於真實物理的渲染依賴於三大關鍵:光照、材質和攝像機。光照和渲染之間應有物理性互動,並且在不同的光照條件下,兩者應該界限分明,這樣才能製作出連貫一致的光照效果。攝像機則負責解讀光照效果,將成果展示到屏幕上。

統一的光照,意味著場景中所有的對象和媒介都應該接收到同樣的光照,不透明、透明或體積材質之間不能有光照上的差別。連貫的光照意味著材質必須正確地與任何來源的光照相作用(比如反射探針、區域性光源等等),即使表面上有貼花(Decal)。這樣最終成果看起來才會連貫。

實時渲染使用了許多種渲染通道:延遲/前向渲染(Deferred/Forward),單通道/多通道渲染(Single Pass/Multi-Pass),以及圖塊/集群渲染(Tile/Cluster)。在遊戲開發中,我們所選的渲染路徑會決定可使用的功能。而在HDRP中,不論選擇的是哪種渲染路徑,都能使用整套的圖形功能。就是說,我們完全可以根據性能需求來選擇渲染路徑;性能將不再受到所選圖形功能的限制。

功能概覽

HDRP自帶一整套圖形功能,與內置渲染管線相比,它能克服更多的渲染挑戰。具體來說,該包在處理材質方面,有以下幾種高級功能:

受光著色器

  • 次表面散射(Subsurface scattering,簡稱SSS)和半透明(Translucency)效果可模擬穿透或在表面的一塊區域內流動的光。可使用該效果製作有機材質,比如皮膚或植物葉片。

  • 透明表層(Clear Coating)可模擬在標準圖層外覆蓋了一層又薄又透明表層的材質。可使用該效果製作如車面噴漆、汽水罐或上過釉的物體等多層次材質。
  • 各向異性(Anisotropy)可模擬方向改變、性質也隨之改變的材質。此種表面隨著觀察角度的變化,其特徵也會改變。可使用該效果製作如磨損的金屬、鳥類絨毛或水晶這類具備各向異性的材質。
  • 彩虹色(Iridescence)可模擬顏色隨角度改變而變化的材質。可使用該效果製作如肥皂泡、昆蟲翅膀或海洋貝殼的材質。
Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

圖層(Layering)可用於在分層受光著色器(LayeredLit Shader)上添加至多4種材質,允許你將不同的材質疊加、糅合在一起,製作出逼真、多樣的圖像,適合在攝影測量工作流中使用。

織物著色器(Fabric Shader)可模擬逼真的衣物材質,適用於製作棉花、絲綢或綢緞材質。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

頭髮著色器(Hair Shader)可模擬穿透或流動在髮絲中的光。著色器使用了改良後的Kajiya-Kay光照模型,耗能更少。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

堆棧受光著色器(StackLit Shader)比普通受光著色器更注重圖像質量。該著色器能更精確地覆蓋上表面,並且允許同時使用各向異性、次表面散射、彩虹色和霧氣參數化等多個材質效果。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

貼花著色器(Decal Shader)可將貼花貼到場景中的表面上,同時支持投影貼花和網格貼花。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

資源包還支持以下高級光照效果:

物理光照單位。HDRP中所有的光照類型,以及天空和發光屬性,都使用物理光照單位來實現逼真的場景畫面。物理光照還能更輕易地實現一致的光照,改善綁定場景光照的工作流。支持的單位包括流明(lumen)、坎德拉(candela)、勒克斯(lux)、尼特(nit)和EV100,還能調整色溫。

面積光照(Area Light),比如方形光照、管形光照(只支持運行時)和圓盤形光照(只支持完全烘焙)。還有發光(emission),可模擬從一個表面向四面八方發光(只支持烘焙)的效果。

各式陰影,包括帶PCF過濾的陰影、帶PCSS過濾的層級陰影,和帶指數陰影貼圖的區域光陰影。此外,還可使用接觸陰影和微型陰影來進一步改善陰影效果。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

模擬真實物理的天空(Physically Based Sky)可模擬出帶大氣的星球。該效果使用了Precomputed Atmospheric Scattering(Bruneton和Neyret,2008年)一文中的方法,HDRI天空加上漸變天空作為背板。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

霧氣可以在場景中製作出帶高度的全局指數霧氣,並且還可用體積光和局部霧氣來進一步提升效果。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

屏幕空間光照(Screen space lighting)效果。真值環境光遮蔽(Ground Truth Ambient Occlusion,簡稱GTAO)和屏幕空間反射(Screen Space Reflection,簡稱SSR)是HDRP的標準效果。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

全新的藝術創作功能可以讓藝術家擺脫現實物理法則的束縛,隨意地創作。光照圖層(Light Layers)可以讓光照隻影響特定的網格,而陰影圖層(Shadow Layers)則能讓網格只在特定光照下投出陰影。此外,我們還添加了半影和陰影色調的控制。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

啞光陰影是不受光Shader Graph主節點中的一個模式。該模式可以讓著色器根據接收到的陰影數量來調整不透明度,還可以為陰影部分選擇一個特定的顏色,在不受光圖片或影像上製作出最終效果。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

請注意HDRP並不支持Enlighten,我們將在2021.1發佈一個實時全局照明(GI)替代方案。

管線中有一個帶體積系統的內置後期處理效果。在後期處理中,你可以使用物理攝像機來控制諸如景深、曝光率等效果,攝像機自帶一套標準的物理設定(焦距、光圈等等)。此外,還有對比度自適應銳化(Contrast Adaptive Sharpen,簡稱CAS)可以倍化效果。最後,後期處理現在支持透明度alpha通道;不過,若想組合起alpha通道和景深這類特效,需要將顏色管線切換到float16 RGBA。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

你可以在手冊中查看包內所有後期處理效果的概覽,以及效果的執行順序。

若想深入瞭解內置渲染管線和HDRP各自的特性,請查看我們的對比表。https://docs.unity3d.com/Packages/[email protected]/manual/Feature-Comparison.html

藝術家工具

渲染管線若達到成品級,意味著它有各式工具來協助藝術家創作。HDRP帶有經驗證的Visual Effect Graph和Shader Graph,還有像Look Dev和帶背板的HDRI Sky這樣的資源創作工具。

正如上文所提到,HDRP構建在模擬真實物理渲染的基礎上,因此,製作得當的材質可以在任何光照條件下自然地與光相互作用。

Look Dev視圖可讓你快速地查看不同光照條件下的資源,此外它還有不同的視圖模式,方便查看材質的各個組成部分。

使用方法很簡單,先建立一個HDRI圖像庫,然後將資源或預製件載入視圖中就能查看資源了。你可以在視圖中切換查看不同圖像,也可以啟用調試視圖模式。或者,可以分屏查看,來比較不同的資源、光照條件或視圖模式。

除了Look Dev,還有背板(Backplate)功能。背板是HDRI天空的一種高級模式,製作出的幾何形可以用HDRI圖像的底部部分來繪製紋理,可以有邊緣漸隱效果,還能在不受光HDRI天空的基礎上渲染陰影貼圖。

在HDRP中,你還能使用Visual Effect Graph來製作高級視覺效果。Visual Effect Graph是我們新的節點式視覺效果製作工具,易用、靈活又強大。生成的視覺效果依賴GPU粒子,可完全利用GPU性能來模擬、展示大量的粒子效果。節點編輯的模式還允許特效的深度自定義,能將需要的屬性暴露給遊戲系統,用於互動。請在本博文中進一步瞭解Visual Effect Graph。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

Shader Graph是我們另一個節點式著色器製作工具。在HDRP中,Shader Graph會有額外的功能可供使用(名稱一般以HD開頭)。你可以使用Shader Graph來覆蓋GI,編輯頂點法線和頂點切線、控制材質質量,或用並行的遮罩貼圖節點寫好深度偏移,用來渲染著色器。你可以使用失真、折射、次表面散射等等效果,也能使用頭髮(Hair)主節點或織物(Fabric)主節點來應用特定的HDRP光照模型。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

HDRP包中含有一些示例內容,來展示功能特性的使用方法。包內帶有一個示例纖維著色器和頭髮著色器圖表、一個示例自定義天空、一些用於後期處理的紋理資源、一個與Shuriken兼容的粒子系統著色器,以及一套示例材質。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

HDRP包中的示例內容:織物和頭髮著色器

最後,渲染管線調試功能可顯示延遲或前向渲染路徑中,透明和不透明材質的屬性。你可以選擇只顯示某些光照,比如只顯示漫射光照、只顯示鏡面光、只顯示陰影等等,還能覆寫整個場景的屬性,包括法線、反射率或平滑度。功能可以顯示運動矢量、深度緩存等等過渡用的渲染目標,可以運行於Unity編輯器和任何玩家平臺上(如PS4),是極具價值的創作工具。

材質捕捉(MatCap)模式可用一個簡單的環境紋理替換對象的材質和光照。該模式可用於快速遊覽、查看場景的大概,省去運行場景的麻煩。比如,你可以在該模式下編輯像洞穴內部這類黑暗的區域,在低光照時查看這些場景會比較困難。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

HDRP具備可拓展性

HDRP含有許多渲染通道,要深挖所有的內容會比較困難,但有一種無需更改代碼就能添加新通道的方法。

自定義通道(Custom Passes)的主要用處是將特效或自定義節點插入到渲染循環中。你可以使用自定義通道訪問HDRP緩存的數據,在特定幀上進行修改。自定義通道使用與後期處理相同的體積系統,但也有一些限制(通過不能依靠Profile資源形式設置,不能加入插值)。自定義通道需要用C#腳本和自制著色器才能運作。

下方是使用自定義渲染通道實現的一個例子:

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

使用自定義通道製作的示例動畫效果

請在自定義通道說明文件中瞭解更多信息,也可以在這探索其他用通道製作出的特效。

自定義後期處理功能可以讓你製作自己的後期處理效果。功能的外觀與內置渲染管線Volume體積組件上的後期處理堆棧非常相似,屬於體積系統中的一部分,可以有效利用起系統的混合和覆蓋能力。在將自己的後期處理效果做成著色器後,你可以將著色器連接到體積組件上。

支持的平臺

  • PC(Vulkan/DirectX 11)
  • PC DX12預覽版(帶DirectX光線追蹤)
  • Mac(Metal)
  • PlayStation 4(基礎版和Pro版)
  • Xbox One (Base, Scorpio and X)
  • Oculus Rift和Rift S(Oculus XR Plugin、Windows 10、DirectX 11)
  • Windows混合現實(Windows XR Plugin、Windows 10、DirectX 11)
  • PlayStationVR
  • Open VR*

備註:Valve正在為Unity 2019.3及之後版本開發OpenVR XR插件。

“經驗證”是什麼意思?

HDRP經過兩年的開發,根據大家的反饋添加了許多的功能特性。在這段時間中,部分支持光追的硬件商品價格變低,代碼也有了不小的進步。

7.2.0版的HDRP資源包現經驗證,已擁有穩定的性能、平臺支持和更新路線。項目數據和代碼可以安全地移植到未來的版本中,而我們將持續開發和拓展管線的各項功能特性。管線的說明文件在這裡。

同時,“經驗證”也意味著HDRP現已帶有成熟的測試工具、支持全平臺性能控制的可拓展設置、拓展性選項及其他創作者工具。更多信息詳見下方。

找到自己的HDRP之道

一直使用Unity的用戶應該知道HDRP與內置管線並不相同。藝術家和程序員們需要另學HDRP,因為管線有新的範式、藝術創作工具、設置系統、體積系統、著色器等等。要將內置管線上的Unity項目移植過去並不簡單,有時甚至需要重寫腳本、著色器,重新佈置光照和場景。

管線的發佈形式也有改變,它是一個資源包,需要用包管理器Package Manager來安裝、更新。我們建議使用與Unity程序相匹配的最新版本,新版中會修復許多的Bug。你可以在包管理器中查看管線的版本。

若想開始使用HDRP,請先查看這份說明文件。文件中包含了一些幫助指南,包括開始使用手冊,及內置管線或舊版HDRP項目的更新指南。

你也可以參看Unity團隊在Unite、GDC等大會上的演講。並且,我們最近上傳了Getting Started with HDRP(開始使用HDRP)和VR support in HDRP(HDRP的VR支持)視頻。或者,你也可以深入學習HDRP的架構(Unity高清渲染管線中統一的渲染)或者特效的製作方式(應用Burley實時歸一化漫射的屏幕空間次表面散射)。

為了幫助你正確地設置好項目(包括普通、VR、光線追蹤項目),我們提供有HDRP Wizard嚮導。你可以參照嚮導驗證自己的設置,改正不正確的部分,還能將內置項目轉化為HDRP項目,嚮導中還帶有一個HDRP場景預製件,用於創建新場景。

Unity 最新版本迎来260项功能改进,高清渲染管线HDRP升级

渲染管線嚮導

高清渲染管線的未來規劃

未來我們將專注於提升HDRP的性能和創作時的體驗。我們希望提高管線的性能、增添對現有功能的支持(如SSR、區域性光照和Volumetric體積效果),添加更多功能選項。我們將繼續改善編輯器的藝術創作工作流,尤其是Animator、Timeline、Cinemachine、Preset等等的使用體驗。並且還會使用DOTS技術。

最後,7.2.0版的HDRP帶有預覽版的實時光線追蹤,我們將在另一博文中詳細介紹。我們會進一步開發光線追蹤技術。

高清渲染管線與通用渲染管線

HDRP不會替代或合併通用渲染管線。

HDRP帶來的是最尖端最優異的圖形圖像表現,是製作高端畫面的最佳選擇。與通用渲染管線相比,它更加複雜,平臺支持也比較有限。

通用渲染管線將成為未來Unity的默認渲染管線,可以實現“一次開發,到處部署”。它更加靈活,拓展性更強,與內置渲染管線相比,能產出性能、質量更高的圖像。

兩種管線互不相同,請根據自己項目的需要來選擇。

開始使用HDRP

目前我們正使用HDRP製作許多帶高端圖像的內容,既有遊戲,也有VR項目。我們甚至使用管線製作了日本辦公室的圖像,可以看到HDRP逼真寫實的畫面可以很好地應用到建築、工程和建造(AEC)領域。

你也可以看看示例項目:Fontainebleau 和The Spaceship。

若想學習更多HDRP的功能、學會用好HDRP,可以查看以下幾篇博文:

  • 使用攝影製圖法旋轉平面創建資源
  • 揭秘《Sherman》:使用Unity製作影視級光照效果
  • 如何設置Unity高清渲染管線製作高端可視化內容

此外,您還可以加入Unity Connect HDRP高清渲染管線學習小組,找到志同道合小夥伴,輕鬆get海量資料,更有技術大咖不不定期現身答疑解惑。

https://connect.unity.com/g/unity-hdrp


分享到:


相關文章: