研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

映維網 2020年01月09日)對於VR遊戲開發工作室Arabian Art Studios,其組成人員在遊戲行業打滾的歲月加起來超過27年,曾供職過的企業包括西木工作室(Westwood Studios), 藝電(Electronic Arts)和巖石壁畫(Petroglyph Games)等等。為了幫助開發者利用他們的開發流程,這支團隊最近發布了一個全新的Unity VR遊戲示例。日前,核心成員以利·阿拉比安(Elie Arabian)和馬特·奧斯特加德(Matt Ostgard)撰文介紹了這個示例及相關技巧步驟。下面是映維網的具體整理:

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第1張

如需下載所述的Unity遊戲示例,請前往Oculus Ogre Sample下載頁面。

我們Arabian Art Studios從2016年開始為Gear VR開發VR遊戲,並一直尋求在相關地系統限制下做到我們最佳地視覺效果。最低硬件規格是三星Note 5。所以,我們在與製作階段了進行了一系列地性能測試:最大繪制調用,可持續的頂點/多邊形數量,烘焙照明與動態照明,蒙皮網格性能等等。我們根據相關地測試開發了一個管道,而它為我們的遊戲提供了最佳的視覺效果。

利用這一流程開發的首款演示內容是《Cursed Sanctum》(下面第一組圖像)。所述作品於2017年3月發行,並且依然支持Gear VR和Oculus Go。我們的第二款作品《Myth Hunters》已於2019年12月5日與大家見面。這是一款完整的遊戲,並且採用了我們先前開發的眾多技術。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第2張

展開全文

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第3張

隨著時間的流逝,原本專屬於特定軟件平台的工具開始日漸普遍,尤其是GPU紋理烘焙,所以我們的方法現在可以在大多數流程管道中使用。今天,我們將向大家介紹基於Unity的Oculus Quest演示作品《Ogre Smithy and His Workshop》,並用於展示了我們的工具和流程管道。我們在下面的博文中提供了這個示例的概述,包括如何準備3D asset,Unity管道的設置,以及工作流程的基本教程。我們希望能夠為你提供一定的借鑒參考,從而幫助你不斷創造具有優秀視覺體驗的遊戲內容。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第4張

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第5張

1. 包括在場景中的3D asset

所有asset均使用生成遊戲美術的標準做法進行建模和構造。創建高細節模型,然後是優化的拓撲網格及紋理處理。我們的管道包括ZBrush,3DS Max,Photoshop,Substance Painter和Unity。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第6張

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第7張

2. 場景構建及管道

在導入Unity之前,我們用於創建場景和紋理烘焙的管道是基於3D Studio Max(Autodesk)和V-Ray(Chaos Group)。然後,我們使用V-Ray的控制和渲染功能將所有照明和高多邊形細節烘焙到低多邊形的遊戲內asset。對於《Ogre》演示,我們同時使用Substance Painter對一定的asset進行處理,將高多邊形細節烘焙到低多邊形asset。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第8張

為了確保這個過程的成功,高多邊形和低多邊形asset必須共享相同的坐標,並且必須彼此重疊。上面是兩者的視圖,你可以看到高多邊形asset中的幾何細節水平。對於場景構建,模型始終是作為一個asset進行移動。

3. 為3DS Max預備asset

第一步是在3DS Max中使用V-Ray材質獲得基本幾何形狀。我們使用「Vray」 Config從Substance Painter導出紋理。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第9張

導出紋理後,我們需要將其分配給3DS Max中的V-Ray著色器,並將其應用於烘焙對象。材質類型必須切換為VrayMTL。從Substance導出的所有紋理類型在VrayMtl中都有一個類似命名的字段。對於凹凸貼圖,請確保使用「VrayNormalMap」類型。考慮到我們在演示內容中同時使用了高多邊形烘焙對象和低多邊形烘焙對象,這確實是需要在製作期間做出的決定。由於場景完全依賴於密集的高多邊形烘焙對象,3DS Max文件往往會變得非常大,甚至達到千兆字節。每種方法的決定應視場景而定,我們需要將唯一asset的數量,每個細節的大小+密度,文件大小,以及最終視覺目標都考慮在內。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第10張

即便有了從Substance Painter導出至V-Ray的預設,我們發現正常凹凸的綠色通道通常都需要翻轉才能獲得正確的結果。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第11張

4. 3DS Max中的場景裝配

一旦預備好所有的asset,並且都具有高多邊形「烘烤」和低多邊形「投影」就緒的asset,我們就可以裝配場景。場景裝配非常簡單,只需將素材放置在3D空間中即可創建完整的環境。我們強烈建議使用實例或引用方法來復制asset,從而將場景文件的內存占用降至最低。設置分層系統非常重要,這允許你輕鬆選擇場景中的高多邊形和低多邊形對象。最終,低多邊形將作為單個對象組合在一起。在《Ogre》中,由於我們在Substance中烘焙了大量的正常數據,所以我們能夠將項目的低多邊形對象用作高多邊形的基礎。

下圖是High_Exeterior_Terrain_High中的Sand_Floor視圖。asset包含230萬個頂點。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第12張

沙漠地面切分成較小的塊狀,從而平衡每個對象的多邊形數量,並且當它不在camera視場中時利用遮擋剔除的優勢。

注意「Bake」圖層asset的命名和層次結構約定;文件組織和asset命名令我們在3DS Max和Unity中執行每個步驟變得更加容易。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第13張

對於性能,除了最小化繪制調用,重要的一環是減少多邊形。在確定場景後,請刪除不必要的多邊形,從而減少遊戲中的幾何形狀。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第14張

建立場景後,我們需要進行紋理烘焙的準備。在這個步驟中,我們將各個遊戲asset組附加在一起,並變成一個唯一的對象。通過附加對象,組合對象的UVW坐標將重疊。必須在紋理烘焙之前解決這個重疊問題,而你只需將組合對象的UVW坐標移動到UVW2並擴展即可消除重疊。組合對象的數量通常取決於每個對象的多邊形計數要求,以及最終場景中的總繪制調用。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第15張

下圖是對象組合併將坐標重新映射到UVW2的另一示例:

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第16張

一旦組合所有遊戲asset並重新映射,我們接下來就可以進行場景烘焙。前提條件是,必須使用V-Ray照明場景。對於這個階段的可視化,我們可以將其作為高多邊形場景的渲染並使用GPU渲染。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第17張

《Ogre》場景演示了兩種紋理烘焙方法,在這里進行區分說明十分重要。在3DS Max中,對象可以自行投影,或通過投影修改器將一組對象投影到另一個對象。要指定紋理烘焙,我們使用「Rendering」選項卡中的「render-to-texture」選項。選擇將為其分配投影紋理的對象。然後,我們需要為紋理烘焙設置所需的設置。對於這個示例,我們的過程要求使用「VrayCompleteMap」輸出類型。有關V-Ray的詳盡指南說明,請參見這個教程:Basic Texture Baking with V-Ray。

5. 自投影

萬分注意:請不要啟用「Mapping」字段,並確保設置正確的UVW通道。

選擇所有場景材質,並將著色器設置回「Lightweight Render Pipeline/Unlit」。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第18張

通過Lighting選項卡及「Generate Lighting」按鈕的下拉箭頭烘焙反射探針。然後,保存項目(File > Save Project)。現在,場景已經可以用於遊戲之中。

研發實戰:用Unity、3D Max、V-Ray等工具為Quest開發高質量圖像 遊戲 第19張

烘焙光探針後及在烘焙反射探針之前,我們必須將材質恢復到標準曝光範圍,這一點十分重要。如果不這樣做,場景中的動態對象在遊戲中會太亮。

8. 管道的優勢

我們在三年前就開始構建這個管道流程,目標是減少Gear VR和三星S5的繪制調用並創建最佳視覺效果。我們對這兩種情況的結果都感到滿意。

下面是採用這一管道的其他原因:

9. 管道的挑戰

我們在使用這個管道時確實有遇過一定的挑戰。下面是採用這一管道的其他原因:

10. 下載示例項目

首先,你需要下載這個Unity項目。它至少需要Unity 2019.2,並且是嘗試這一示例的推薦版本。打開OculusOgrePrototype.unity。如要構建和部署場景,你需要輸入自己的簽名證書,然後就可以正常地進行開發並部署到Quest。有關如何構建並將將Unity應用部署到Quest的更多信息,請參見這個文檔頁面。

11. 總結

《Cursed Sanctum》顯然受益於這個管道流程,即使已經過去兩年,這款遊戲依然憑借視覺效果獲得Gear VR和Go玩家的好評。我們繼續在《Myth Hunters》沿用這一流程管道,而它使得我們的平均紋理烘焙時間從4個小時降低到20分鐘。展望未來,我們將評估Unity的變化以及GPU支持紋理烘焙的做到,從而確定是否可以在場景構建和烘焙過程中更多地利用Unity。另外,隨著VR硬件性能的提升,數年前的多個性能瓶頸將漸漸變得不再重要,並允許我們調整流程,從而更好地開發未來的遊戲。感謝你抽出時間閱讀我們的博文,希望這能夠為你提供幫助。

原文鏈接:https://yivian.com/news/70821.html

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!