VR開發之性能優化小技巧
虛擬現實是目前游戲行業最令人興奮的領域之一。得益于Unity的開發平臺,開發者和愛好者都能輕松將創意轉化為可以吸引成千上萬玩家的成熟游戲。YouTube頻道“VR with Andrew”的主持人安德魯·康奈爾(Andrew Connell)早前曾分享了一個關于VR開發優化技巧的短視頻。另外,你可以對照視頻參閱映維網整理的文字介紹:
在實現所述優化時,安德魯建議參考Oculus的性能指南,從而確保在開發應用程序時處于推薦的度量范圍之內。
1. LoD模型
LoD代表細節級別,指的是游戲中3D模型的復雜性。LoD可以隨著模型遠離玩家或根據其他度量(如對象重要性、視點相對速度或位置)而降低。
我們可以根據玩家與對象的距離在模型之間切換。然后我們對模型進行排序,使對象的細節隨著與對象的距離增加而減小。在創建LoD時,它們的輪廓和外觀應該相似,但在幾何結構方面應該有足夠的差異,以提高性能。額外的LoD模型不必手動創建,有大量的軟件解決方案用于自動化創建過程。
2 幾何鋸齒
抗鋸齒是指去除頻率高于記錄或采樣設備能夠正確分辨的信號分量。為了抑制這種情況,我們可以使用多重采樣抗鋸齒(MSAA)。首先選擇渲染管道,然后導航到“質量”,再導航到“抗鋸齒”并選擇“4x”。這是成本和性能的最佳選擇。
你可能會遇到鏡面鋸齒。高鏡面反射級別或高光容易產生這種情況。對于這一點,沒有直接的解決方法,但存在各種技術可以盡可能地將其最小化。這包括避免使用銳利邊緣,選擇光滑的圓形形狀,并使用啞光材料。為了有效地使用這些技巧,最好盡早與你的美術交流。
3 紋理壓縮
對于紋理壓縮,最好使用ASTC,因為它提供了最佳質量的大小比。最好是以每個asset作為基礎進行應用,這可以避免不必要的紋理數據,并提供更好的質量。
你同時可以參考下面這個圖表:
4 Mipmmapping
另一種技術叫做Mipmapping。這將基于初始導入的紋理創建一組較小的紋理,從而最小化紋理鋸齒并提高性能,因為我們不使用額外的紋理數據。
你可以轉到asset窗口中的紋理,然后轉到高級設置以啟用Mipmapping。Mipmapping對于紋理濾波非常重要。
5 紋理濾波
紋理濾波有三個選項:點、雙線性和三線性。點意味著沒有濾波。雙線性將對最近的Mipmap進行采樣。三線性則對最近的兩個Mipmap進行采樣,并將它們混合在一起以提供最平滑的過渡。啟用紋理濾波的選項與mipmaps相同的設置窗口中。
對于VR,我們建議使用三線性。對于其他各向異性過濾,我們建議使用一個相當低的值,因為它在性能方面相當昂貴,而你應該將其保留給環境asset。
6 凹凸貼圖
對于更粗糙、更復雜的紋理,你可以使用幾種貼圖方法。凹凸貼圖最常見的形式是法線貼圖,它適用于大多數用例。但對于VR來說,由于玩家視角的不斷變化,普通貼圖并沒有那么有用。另外,在虛擬現實中,我們必須為每只眼睛渲染兩個不同的圖像(這個過程稱為立體視覺)。在虛擬現實中,法線貼圖的假象不像我們使用一個紋理渲染兩個不同視點那樣可靠。有一種更合適的貼圖類型,其明為視差遮擋貼圖,而我們可以使用高度貼圖來實現它。這種類型的貼圖考慮了玩家與曲面的角度。然而,這是一個相當昂貴的性能過程,應該謹慎使用,比如玩家近距離交互的對象。
7. Light maps
陰影對于為場景添加深度至關重要。然而,它們同樣是一次計算密集的過程,特別是對于移動設備而言。照明是一個同樣復雜的主題,所以我們將重點關注照明靜態對象。需要記住的一點是,與多個較小的紋理相比,處理較少和較大的紋理更為有效。
Arm已在Unity Asset Store發布了一個相關資源https://assetstore.unity.com/packages/vfx/shaders/dynamic-soft-shadows-based-on-local-cubemaps-61640,其可用于使用本地立方體貼圖來創建動態軟陰影。這是一個非常低成本的解決方案,所以如果你需要一個簡單的解決方案,它肯定值得考慮。
8. Banding alpha compositing
當我們不能在每個像素的位數內正確顯示所需的顏色時,banding就會發生。這會導致顏色變化,而不是平滑漸變。克服這個問題的方法是啟用色調映射或dithering。dithering會給圖像添加噪點。
色調映射嘗試將像素值從高動態范圍(HDR)重新映射到低動態范圍。這非常適合不支持HDR的屏幕。
9. Alpha compositing
alpha compositing是一種將圖像與背景結合起來以生成單個圖像的技術。它主要用于foliage以減少鋸齒。這是一個特別方便的方法,因為以前的抗鋸齒工具在這種情況下可能無法工作。
10. 顏色
最后,確保使用線性顏色空間,因為它非常與基物渲染(PBR;基于物理的渲染)配合使用。
值得一提的是,Arm早前分享了關于一體式VR的優化技巧。同時,你可以通過YouTube關注訂閱“VR with Andrew”。
原文來自映維網:https://news.nweon.com/85804