在Oculus Quest發售前,Oculus第三方內容主管曾表示,將PC內容移植到Oculus Quest更多的是格式化美術資源而非優化代碼。
Quest第三方內容開發商Immerse曾在五周時間內實現了美術資源的再格式化,并將最初為PC開發的企業培訓應用程序移植到了這款VR一體機上。他們究竟是如何做到的呢?
Immerse產品負責人Justin Parry解釋說,他們自2019年年初開始一直在使用Quest開發套件,公司安排他們將為PCVR開發的DHL培訓應用移植到VR一體機Quest上。Parry表示:“由于客戶業務的性質,VR中的培訓場景被設置在一個巨大明亮的倉庫環境中。我們的任務十分簡單:令這款應用能在Quest上運行,同時盡可能維持與PC版類似的體驗。”
盡管Quest的房間規模(和倉庫規模)Inside-Out追蹤非常適合這種類型的應用,高端PC性能的缺乏也是他們面臨的一個問題。開發者雖然可以通過標準的Unity設置瞬間實現部分資源的再格式化,但需要付出保真度方面的代價。Parry認為重寫Unity的設置并采用其他多項技巧對于維持類似PC版的體驗非常必要。
舉個例子,Unity的標準著色器質量設置默認為“低”,在該設置下法線貼圖是無法使用的。Parry建議開發者應該將該設置調整為“中”或“高”,以預覽所有內容,然后再開始優化資源。Immerse同時注意到,簡單的紋理格式改動會導致在Rift中清晰的紋理在Quest中顯得模糊,但采用GPU原生格式(如RGBA 32位)通常可以解決問題,此外針對個別紋理進行額外設置調整也有助于改善清晰度。
開發者不應該簡單地減少Quest模型資源的多邊形數量來降低復雜性,減少模型的數量效果更好。換句話說,將一只箱子、一個桶、一塊地板以及一張桌子合并成為一個模型會有顯著的性能提升,因為程序不需要同時加載四個對象來獲取所有數據。盡管開發者無法實現將場景中的所有物體合并到一個文件中,因為如此會阻止Quest剔除當前未被查看的對象,但創建相關物品的集群可以使情況大為改觀。
Immerse同時通過Texture Atlas和UI Sprite Atlas來減少加載時間和Draw Call,他們將Sprite紋理大小設置成512像素或更低,并盡可能重用紋理以節省內存。為了最大化近處Sprite的視覺質量,Parry建議禁用近處Sprite的mip-mapping,但他強烈建議為所有其他紋理啟用這一點,因為它是最接近抗鋸齒的功能。對近處和遠處紋理的優化可能需要單獨設置,但最終視覺效果會更好。
PC版應用和Quest版應用最大的變化或許在于光照系統。Immerse指出,除了“絕對必要”的情況之外不要使用實時光照功能。開發者應該將光照預先烘焙到紋理中,這是Unity可以處理的過程。微調分辨率、填充、光照貼圖的大小并調整每個對象的光照貼圖的縮放,為高度可見物品設置更高優先級,為一般物品設置更低的優先級。這些舉措將會帶來最佳的自動處理結果,隨后你可以通過Photoshop進一步處理紋理,并使它們到達你的設想效果。
從Immerse的經驗中可以看出,Quest完全能夠在不浪費有限的計算和內存資源的情況下提供引人入勝的VR體驗。對物體、紋理、Sprite和光照進行調整能夠達到與傳統拋棄大型對象或縮減對象保真度的方法十分接近的優化效果。
只要經過正確的美術優化,倉庫工人完全可以使用無線的Quest在一個倉庫大小的空間內自由走動,不再受傳統PCVR頭顯的線纜限制。這也正是Oculus希望通過VR一體機硬件為大家帶來的一種體驗。
-
Oculus
+關注
關注
7文章
373瀏覽量
61378 -
VR一體機
+關注
關注
1文章
152瀏覽量
15010
原文標題:行業資訊 || Oculus Quest開發者分享Rift和Vive應用移植優化技巧
文章出處:【微信號:ARAlliance,微信公眾號:AR聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論