開發者分享優化技巧,將PC VR內容移植到Quest
對于將PC內容移植到Oculus?Quest,Oculus曾表示這更多是格式化美術asset而非優化代碼。第三方Quest內容開發商Immerse曾在五周時間內實現了美術asset的再格式化技巧,并將最初為PC開發的企業培訓應用程序帶到這款 VR 一體機。現在,他們介紹了關于這一過程的技巧經驗。
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位)通常可以解決問題,而針對單個紋理的額外調整則能夠提供更多的幫助。
團隊不是簡單地減少多邊形數量以降低Quest asset的復雜性,Parry表示越少的對象對這款頭顯越好。換句話說,只需將一只箱子、一個桶子、一塊地板、以及一張桌子放到一個看起來相同的對象中,同時不需要加載四個對象以獲取所有數據,你就可以提高性能。盡管開發者不能只將場景中的每個物品轉換為單個對象,因為這會阻止Quest剔除當前未被查看的對象,但創建相關物品的集群可以使情況大為改觀。
Immerse同時通過Texture Atlas和UI Sprite Atlas來減少加載時間和繪制調用,他們將Sprite紋理大小設置成512像素或更低,并盡可能重用紋理以節省內存。為了最大化近距離的Sprite視覺質量,Parry建議禁用近距Sprite的Mip映射,但強烈建議為所有其他紋理啟用這一點,因為它非常接近于抗鋸齒功能。近距離和遠距離的紋理可能需要單獨優化,但最終視覺效果會更好。
上圖:即便為場景預先烘培照明,偽影都會保留在自動更新的紋理中,所以你可以使用Photoshop將其清理。
也許最大的變化在于照明。Immerse指出,除了“絕對必要”的情況之外,丟棄實時照明至關重要。開發者應該轉而依靠預烘培照明,而這是Unity可以處理的過程。微調分辨率,填充,照明貼圖的大小,以及調整每個對象在照明貼圖中的比例,為高度可見物品設置更高優先級,在一般物品設置更低的優先級,這一切將會帶來最佳的結果。然后你可以通過Photoshop處理紋理,并使它們到達你的設想效果。
從Immerse的經驗中可以看出,Quest能夠在不浪費有限計算資源和內存asset的情況下提供引人入勝的VR體驗,而且與拋棄大型對象或縮減逼真對象的傳統方法而言,對物體,紋理,Sprite和照明進行調整的效果相差不大。
原文鏈接:https://yivian.com/news/62626.html
來源:映維網