來源:映維網 作者 劉源
如果你缺乏移動開發經驗,將內容從PC和主機移植到所述平臺或許是一個棘手的過程。在將作品帶到Oculus Quest時同樣如此,而且另一個挑戰是,VR一體機是貼到用戶面前,所以一丁點的錯誤都會清晰易見。能夠正確地優化項目將意味著下面兩個結果中的一個:流暢和愉快的用戶體驗;過熱GPU造成的不斷掉幀。
日前,Arm通過視頻為Oculus Start Program帶來了一個約20分鐘的移動VR優化教程。下面映維網整理了視頻中的五大要點:
1. 紋理壓縮十分重要
即便紋理導出為PNG、JPEG、TGA或PSD,但在項目運行時它們不會保持為所述格式。每個紋理都會轉換成可由GPU更快讀取的格式,從而減少帶寬,并且在VRAM中占用更少的內存。盡管你可以選擇一系列不同的解決方案,但Arm建議移動平臺采用ASTC(自適應可擴展紋理壓縮/Adaptive Scalable Texture Compression)。ASTC由Arm和AMD開發,其最大的特點之一是它為你提供了眾多用于控制壓縮質量的選項。在一開始,不同級別的塊大小(Block-Size)或許會令人感到害怕。所以,Arm建議你從5×5或6×6開始,然后為占用較少視圖空間的資源放大塊大小。但一定要嘗試不同的設置,從而找尋最適合項目的選項。
你可以在項目中嘗試的另一個選項是ETC(Ericsson Texture Compression)。但這通常會給紋理留下更高的內存占用空間、更低的視覺質量,并會降低運行時的性能。更多關于ASTC,如何使用ASTC,以及不同ASTC編碼器選項的信息請訪問這一頁面(Arm在8月20日發布了ASTC v2.0編碼器的升級版)。
2. 用LODs(Level OF Details)降低頂點數和避免微三角形
我們都知道幾何對性能有著巨大的影響。網格的頂點越少,計算的速度就越快。保持正在渲染的頂點數有時會與項目的美術視覺產生沖突。這時我們可以利用LODs。
對于遠離用戶的網格,LODs將顯示較低多邊形的版本。相關模型屬于預制型,其變化的距離可控。在更復雜的場景中,用戶可以看到遠處,而這將有助于減少頂點數,并解決另一個問題:微三角形(Mirco Triangles)。這種三角形在完全渲染時占據1-10個像素。盡管它們對最終圖像的貢獻不大,但GPU依然需要對其進行完整的處理。
3. 用Mipmaps來提高項目的性能和視覺
Mipmapping就像LODs,但主要針對紋理方面。Mipmap是以較低分辨率保存的紋理副本。在GPU對紋理進行采樣時,它會根據片元所占的紋理空間大小選擇合適的Mip級別。乍一看,Mipmap似乎有點奇怪。紋理的副本確實會增加它們的內存占用。但作為交換,你可以提高GPU的性能,因為它不必以全分辨率渲染遠離camera的對象。同時,它可以防止紋理鋸齒。當結合使用時,Mipmap和LODs可以加快場景渲染。
4. 細長三角形
正我前面所提,組成網格的頂點越少,GPU計算的速度就越快。但是,即便是低多邊形網格都可能會存在一定的問題,并對GPU施加更大的壓力。最常見的是細長三角形。對于這種三角形,由于第三個頂點距離遙遠,所以它在完全渲染時將占據數十個像素。問題出現的原因是,GPU需要以方形塊的形式處理多個像素。這是一個挑戰,因為即便這個三角形只占視圖控件的一小部分,GPU都必須對多個塊執行計算。最好的選擇是刪除所有的細長三角形,并確保三角形盡可能接近等邊。
5. 利用Alpha to Coverage
在保持出色性能并同時減少Alpha值對象的鋸齒對虛擬現實而言是一個挑戰。Alpha測試是一種廣泛實現的Alpha合成形式,并且是不少游戲引擎的默認設置。但它可以在對象邊緣產生服務器鋸齒效果。Alpha混合是一種替代方法,但如果沒有多邊形排序,它將無法按順序渲染對象,而且排序是一個非常計算成本昂貴的操作。
Alpha-to-Coverage(ATOC)可以通過將片元著色器的Alpha組件輸出轉換為覆蓋遮罩,并將其與多采樣遮罩相結合來幫助減少鋸齒。然后,它將使用AND運算符并僅渲染通過所述操作的像素。
上圖左側是一個基本的Alpha測試,右側則是ATOC。即便是靜態圖像,鋸齒都非常顯著,而當圖像處于運動狀態時,變化要明顯得多。盡管實現這一點聽起來相當困難,但Arm提供一個針對各個引擎的簡單指南。
6. 熱身
由于虛擬現實項目的多學科性質,五個技巧難以完全地覆蓋方方面面。要開發出一個優秀的項目,你需要付出大量的努力。上面只是優化技巧的冰山一角。若要探索更多關于優化幾何體、紋理和材質的詳細信息,請關注Arms Best Practices for Artisters,并同時查看Unity項目示例和UE4項目示例中的VR圖形技術。另外,呼吁大家積極向社區分享你的技巧和建議,從而幫助大家一同進步。
原文鏈接:https://yivian.com/news/78877.html