雖然說VR現在涼涼了,但是不可否認這個確實是以後的趨勢,unity vr遊戲製作軟件(Unity VR Fundamentals)大家還算可以自己學習一下的,Unity VR的基本原理對您來說是完美的,因為您將會熟悉為各種VR設備創建內容。
首先,您將探索如何為您的虛擬現實世界設計好的內容和環境。接下來,您將構建這個世界,包括藝術、聲音和VFX。最後,您將使您的工作與來自用戶的交互成為生命。當你完成了這個統一課程後,你不僅能夠創造虛擬現實體驗,你也會明白什麼讓虛擬現實體驗帶給用戶快樂。
性能分析器
性能分析其可以讓你了解遊戲中每幀渲染的時間開銷,並通過處理器、渲染、內存、音頻、物理和網絡進行分項顯示。執行性能測試時,了解性能分析器,找到需要優化的方麵非常重要。
幀調試器
使用幀調試器可以讓你凍結任意幀的反饋,進入每個單獨的Draw Call以檢查場景構建的過程,並找到那些需要優化的位置。從中你可以找到那些對無需渲染對象進行的渲染操作,從而極大的幫助降低每幀的Draw Call數。
VR優化基礎
優化是一個內涵豐富的領域,包含了多方麵的知識,需要對每種目標平台和工程單獨考慮。在此,我們列出不同的興趣點以便於深入閱讀。
In general, existing optimisation techniques carry over well into VR development, so existing knowledge can often be applied.
一般來說,已有的優化技術可以照搬到VR開發中去,因此既有優化知識通常是可以複用的。
幾何體
移去VR場景中永不可見的幾何體表麵,不要為不可見的東西浪費寶貴的渲染資源。如:靠牆放置的櫃子的背麵是不可見的,那麼我們就無需在模型中為其建立幾何表麵。
盡可能簡化幾何網格,根據目標發布平台采取增加紋理提高細節,使用視差貼圖或曲麵細分的技術,雖然這會對性能造成影響,也可能無法適用於或根本不能用於你的目標發布平台。
遮擋繪製
Overdraw麵板可以讓你看到那些繪製在別的物體之前(上)的物體,遮擋繪製會導致GPU時間的浪費。優化時應考慮盡最大可能減少遮擋繪製的數量。可以在場景視圖中使用Scene View工具欄打開它。
細節級別
細節級別(LOD)渲染能減少距離攝像機較遠的遊戲物體需要渲染的三角形數量。隻要遊戲物體不是同時出現在攝像機附近,通過添加LOD組件並為距離攝像機較遠的遊戲物體指定精度較低的網格模型組, LOD就能降低對硬件設備的負載並提高渲染性能。
使用Simplygon可以自動為大部分遊戲資源進行LOD預處理。
Draw Call批處理
盡可能使用靜態批處理或動態批處理的來批處理Draw Call調用,這可以大幅度增加遊戲性能。可以查看Unity指南Draw Call Batching進行學習。
光照貼圖
盡可能削減動態光照而使用烘焙得到光照效果,避免使用實時陰影。
光線探測
光線探測對場景中某點的光照進行取樣並將其應用於動態物體上,執行速度較快,通常能獲得很好的視覺效果。
反射探測
反射探測存儲了周圍環境的立方體貼圖從而獲得真實的反射,反射探測會顯著影響遊戲性能。請注意實時的反射探測速度很慢目前還無法應用於VR中。
遮擋剔除
遮擋剔除關閉了對不可見物體的渲染。例如,房門關閉無法看到室內情形時根本無需渲染另一間屋子。
能否實現遮擋剔除取決於遊戲項目要求和其目標平台,但是遮擋剔除可以極大的提高性能。
抗鋸齒
抗鋸齒能夠平滑圖像並減少其上的鋸齒邊緣, VR非常依賴抗鋸齒技術。如果你使用正向渲染,可以考慮在質量設置中啟用MSAA,對於Gear VR你應該總是確保打開了該設置。
紋理
通常,你會在項目中大量使用紋理圖集,並減少單個紋理和材質的使用。
為了簡化和加速這個過程,可以用MeshBaker進行紋理、網格以及材質的烘焙以提高遊戲的性能。
Holden from Turbo Button公司在Oculus Connect 2上有關於 通用優化技術和MeshBaker使用 的討論。
注意: VR中法線貼圖的效果一般不佳,因此應盡量避免使用。如果想得到更多關於紋理的信息也請訪問Oculus documentation on Rendering。
著色器
盡可能多的使用基本著色器。在Gear VR上,盡可能多使用計算代價低廉的Mobile > Unlit (Supports Lightmap) 著色器,也可以用它進行場景的光照貼圖。
全屏效果
全屏效果的運算代價高昂,在Gear VR上應盡量避免使用。
質量設置
質量設置決定了遊戲視覺質量的各個方麵。修改這些參數以獲得遊戲性能與視覺效果間的平衡。
渲染規模
修改VRSettings.renderScale會在清晰度和性能之間進行平衡,欲獲得更多這方麵信息和例子可以參考我們的文章Getting Started with VR Development。
異步加載
你可能會考慮將遊戲分解到不同的場景中來提高遊戲性能,如果你確定要這樣做,要小心處置加載下一場景時對頭部帶來的追蹤停滯,因為這會導致眩暈。
為了幫助解決該問題,你可能需要在使用SceneManager.LoadSceneAsync異步的加載下一場景時創建一個具有頭部運動追蹤的加載界麵。
例子場景中用到的優化技巧
我們已經在例子場景中應用了一係列優化技巧以保證它們同時能在Gear VR和DK2上高效運行。
由於要將同樣的工程部署在不同平台上,我們以最低硬件配置為目標;此時就是Gear VR啦,我們選擇低精度藝術風格,僅僅依靠一些基本顏色來實現物品在環境中的突出顯示。
菜單場景的優化
和其他所有的場景一樣,使用低精度資源並關閉實時光源。
在菜單麵板上使用了一個名為SeparableAlpha的自定義著色器,該著色器能夠為圖片序列單獨定義α通道。這樣,一些幀就不需要α通道的信息了。這樣既減小了文件的大小,又消除了一些圖片邊緣的鋸齒。
在Flyer場景中使用了霧效果以保證生成的物體不會突然出現在視野中,降低了視野距離以減少需要渲染的遊戲對象數量。
降低流星物體的頂點數,這樣就可以使用動態批處理來減少DrawCall數量了。
創建對象池實現對激光、流星和門等遊戲物體的重用,減少代價高昂的Instantiate調用的使用頻度。
這裏特別提一下Flyer飛行器的反射材質,通過使用Detail Map欄中的第二個UV通道的小塊的顏色樣本進行優化,從而降低了紋理的總體大小。
迷宮場景的優化
對迷宮環境進行了光照貼圖,這樣運行時就能獲得更好的性能,特別是在使用性能較差的移動設備的Gear VR上。此外就是使用無需實時光照和最小化特效的簡單場景。
Shooter180 (Target Gallery) 和Shooter360 (Target Arena)場景的優化
至於另外一個遊戲,我們在場景中重用了低精度藝術風格並針對目標物體建立了對象緩衝池,也使用了減少頂點數以進行動態批處理操作的方法。
至此,你應當對VR優化中涉及的各方麵知識都有了一定的了解,如:用Unity自帶的工具進行性能分析以及一些提高幀率的好技巧。
76.4M / 03-25
立即下載55M / 06-05
立即下載237.9M / 04-13
立即下載140.5M / 03-06
立即下載900.9M / 03-02
立即下載96.2M / 07-06
立即下載311.2M / 07-06
立即下載335M / 07-06
立即下載200M / 07-06
立即下載413.8M / 07-06
立即下載353.9M / 06-05
立即下載131.8M / 04-13
立即下載230.8M / 03-03
立即下載195.6M / 03-03
立即下載165.4M / 03-03
立即下載45.6M / 09-08
立即下載665.2M / 07-06
立即下載2.84G / 07-06
立即下載93M / 07-06
立即下載338.3M / 07-06
立即下載1.38G / 07-26
立即下載488.3M / 07-16
立即下載109.8M / 06-03
立即下載142M / 01-08
立即下載1.2M / 11-23
立即下載548.8M / 04-13
立即下載1.6M / 04-13
立即下載1.48G / 03-18
立即下載646.6M / 03-03
立即下載133.7M / 03-03
立即下載325.8M / 06-07
立即下載60M / 04-29
立即下載254M / 04-25
立即下載659M / 04-23
立即下載1M / 12-26
立即下載253.4M / 12-08
立即下載253M / 12-08
立即下載1.19G / 11-16
立即下載110.5M / 04-23
立即下載26.7M / 03-16
立即下載488.3M / 07-16
立即下載248.9M / 12-08
立即下載248.9M / 12-08
立即下載201.2M / 04-13
立即下載100.6M / 03-06
立即下載148.9M / 03-06
立即下載1.12G / 07-06
立即下載1.25G / 07-06
立即下載9.48G / 07-06
立即下載50KB / 07-06
立即下載116.2M / 04-10
立即下載1.92G / 04-17
立即下載201.5M / 04-13
立即下載7.31G / 07-01
立即下載94.3M / 07-06
立即下載2.48G / 07-06
立即下載7.63G / 07-06
立即下載1M / 07-06
立即下載778.1M / 07-06
立即下載509.7M / 07-06
立即下載561.8M / 07-11
立即下載1.32G / 01-19
立即下載72M / 07-06
立即下載548.7M / 07-06
立即下載1.00G / 07-06
立即下載9.13G / 07-06
立即下載126.2M / 07-06
立即下載72M / 07-06
立即下載105.1M / 07-06
立即下載132M / 07-06
立即下載