開發者分享優化技巧,將PC VR內容移植到Quest

遊資網發表於2019-06-20
Quest能夠在不妨非有限計算和記憶體asset的情況下提供引人入勝的VR體驗

對於將PC內容移植到Oculus Quest,Oculus曾表示這更多是格式化美術asset而非優化程式碼。第三方Quest內容開發商Immerse曾在五週時間內實現了美術asset的再格式化技巧,並將最初為PC開發的企業培訓應用程式帶到這款VR一體機。現在,他們介紹了關於這一過程的技巧經驗。

開發者分享優化技巧,將PC VR內容移植到Quest

Immerse產品負責人Justin Parry解釋說,他們自2019年年初就一直在搗鼓Quest開發套件,而公司安排他們將為繫留VR開發的DHL培訓應用帶到無線VR頭顯Quest。Parry說道:“由於客戶業務的性質,培訓設定在一個巨大光亮的倉庫環境中。我們的任務十分簡單:令它支援Quest,同時儘可能維持PC版體驗的質感。”

儘管Quest的房間規模(和倉庫規模)內向外追蹤非常適合這種應用程式,但缺乏高階PC的效能是一個問題。你可以通過標準的Unity設定瞬間實現一定asset的再格式化,但需要付出保真度方面的代價。所以,Parry認為重寫Unity的設定,並採用其他多項技巧非常有必要。

例如,Unity的標準著色器質量設定預設為“低”,所以他們的法線貼圖無法使用。Parry建議應該從“中”或“高”開始,這樣你就可以預覽所有內容,然後開始優化asset。Immerse同時注意到,簡單的紋理格式改動會令清晰的Rift紋理在Quest中顯得模糊,但採用GPU原生格式(如RGBA 32位)通常可以解決問題,而針對單個紋理的額外調整則能夠提供更多的幫助。

開發者分享優化技巧,將PC VR內容移植到Quest

團隊不是簡單地減少多邊形數量以降低Quest asset的複雜性,Parry表示越少的物件對這款頭顯越好。換句話說,只需將一隻箱子、一個桶子、一塊地板、以及一張桌子放到一個看起來相同的物件中,同時不需要載入四個物件以獲取所有資料,你就可以提高效能。儘管開發者不能只將場景中的每個物品轉換為單個物件,因為這會阻止Quest剔除當前未被檢視的物件,但建立相關物品的叢集可以使情況大為改觀。

Immerse同時通過Texture Atlas和UI Sprite Atlas來減少載入時間和繪製呼叫,他們將Sprite紋理大小設定成512畫素或更低,並儘可能重用紋理以節省記憶體。為了最大化近距離的Sprite視覺質量,Parry建議禁用近距Sprite的Mip對映,但強烈建議為所有其他紋理啟用這一點,因為它非常接近於抗鋸齒功能。近距離和遠距離的紋理可能需要單獨優化,但最終視覺效果會更好。

開發者分享優化技巧,將PC VR內容移植到Quest

上圖:即便為場景預先烘培照明,偽影都會保留在自動更新的紋理中,所以你可以使用Photoshop將其清理。

也許最大的變化在於照明。Immerse指出,除了“絕對必要”的情況之外,丟棄實時照明至關重要。開發者應該轉而依靠預烘培照明,而這是Unity可以處理的過程。微調解析度,填充,照明貼圖的大小,以及調整每個物件在照明貼圖中的比例,為高度可見物品設定更高優先順序,在一般物品設定更低的優先順序,這一切將會帶來最佳的結果。然後你可以通過Photoshop處理紋理,並使它們到達你的設想效果。

從Immerse的經驗中可以看出,Quest能夠在不浪費有限計算資源和記憶體asset的情況下提供引人入勝的VR體驗,而且與拋棄大型物件或縮減逼真物件的傳統方法而言,對物體,紋理,Sprite和照明進行調整的效果相差不大。

來源:映維網
原地址:https://yivian.com/news/62626.html

相關文章