找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

新浪微博登陸

只需一步, 快速開始

查看: 1470|回復: 4
打印 上一主題 下一主題

[其他] 入門VR游戲開發者在Unreal Engine 4上開始VR設計所需要知道的

[復制鏈接]

該用戶從未簽到

4

主題

17

帖子

21

積分

LV.1

Rank: 1

積分
21
QQ
跳轉到指定樓層
樓主
發表于 2019-7-10 04:57:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
ARial, &quot">
首先,不要被標題嚇到,這其實是一篇面向游戲開發者的入門科普文章,對于有致于開發VR游戲的初學者來說,這是一篇不錯的UE 4入門體驗的文章。用最快的速度了解UE4 引擎在VR游戲中可以實現什么效果和一些基本的性能調試方法。
如今,人們對于VR的討論越來越多,但是,每天卻有越來越多人參與到VR的發展中來。這一指南適用于那些專為Unreal Engine 4開發VR的人使用,并且可以提供各種不同的資料,包括Epic Games的官方文檔,以及涵蓋了藍圖和C++的內容。
請注意,VR仍然是全新的課題,每個新版本都會擴充VR的內容。所以,如果有可能,我們強力推薦使用最新版本。官方Oculus論壇、官方VR文檔頁面和Unreal Engine VR分論壇都是查看你版本的好去處。
如果你正在尋找讓你馬上著手開始設計的VR模板,請訪問GitHub Repository: https://github.com/tomlooman/VRTemplates。那些模板目前適用于擁有各種攝像以及移動控制功能的C++ 和Blueprint,后來可以轉化為了可編輯內置的模板。

1.設置你的VR設備
根據該指南,我會假設你已經成功安裝了頭戴式可選擇的顯示器。本文是以HTC Vive作為例子,Oculus其實也是一樣的。
Unreal Engine 4支持各種主流設備,所以你沒必要多此一舉,設置你的VR項目。你只需在Edit > Plugins下,確保你的頭戴顯示器插件是否加載成功。

在啟動編輯器之前,確保你的VR軟件是否運行,如果是Vive,將會是SteamVR應用。
Vive具體情況:一旦你啟動編輯器,SteamVR或許會顯示“Not Ready”,這表示有設備沖突的情況,有東西阻礙編輯器分辨率達到60FPS,導致了抖動和暈車。關于這個問題的更多信息解決方法請在AnswerHub Thread (https://answers.unrealengine.com/questions/296531/vive-locked-at-60-fps.html)上尋找。下一次在使用Vive時不會出現這樣情況了,因為他們成為顯示屏的直接模塊。

2.啟動VR預覽版
測試你的VR設置非常簡單,只需在播放下拉按鈕,選擇“VR預覽”。默認情況下,頭部跟蹤會立即生效,而無需改變現有項目或模板。我將講訴更多如何添加額外功能的細節,如運動控制器設置和重置來源。該指南后面都有講訴。

3.最佳VR實踐
VR仍然是未全部開發的領域,隨著每天的發展,我們不斷學習新的東西。
Oculus (https://developer.oculus.com/documentation/intro-vr/latest/concepts/bp_intro/)和Epic Games(https://docs.unrealengine.com/latest/INT/Platforms/VR/ContentSetup/index.html) 都設置了最佳VR實踐指南。我推薦你們仔細閱讀,并在發開VR游戲是,常常反思。
4.在Blueprint上使用VR
在藍圖使用VR是非常簡單,你不需要太多設置,然后才開始工作。
您將需要一個攝像頭組件和可選的一個或兩個運動控制器組件。默認情況下,你的相機已經設置為HMD支持,如果您希望禁用的HMD旋轉的變化,你可以組件的屬性中選擇“Lock to HMD”。想要得到更多關于運動控制器的信息,你可以游覽該指南或者流浪官方文件頁,了解怎么設置運動控制器(https://docs.unrealengine.com/latest/INT/Platforms/VR/MotionController/index.html)。
下面是藍圖可用的節點。

重置你頭盔的位置或方向

選擇合適的功能,能檢測你頭盔是否能工作

4.1 SteamVR Chaperone
Chaperone組件是SteamVR專屬,可以方便連接軟邊界。軟邊界呈現為以HMD為原點(0,0,0)的向量陣列。所述載體的Z分量始終為零。你可以從下列看到,你添加這些組件,就像添加ActorComponent到Blueprint一樣。

4.2 設置運動控制器
官方的文件對于運動控制器設置(https://docs.unrealengine.com/latest/INT/Platforms/VR/MotionController/index.html)以及輸入處理的講訴很清楚,如果你的VR支持運動控制器,那么我推薦你根據下列文件步驟走。根據這一實例,在GitHub上檢查我的VR模板(https://github.com/tomlooman/VRTemplates)。
如果您無法用相機對準你的運動控制器,只需把SceneComponent當做“VR原點”即可。當你的根組件在CharacterBlueprint上產生像CapsuleComponent一樣的問題,那么這種方法特別好用。

5.在C++上使用VR
由于4.11并不是所有的功能都適用于Blueprint,如果你正在努力實現高級定制,那么你需要深入了解C++,來進行一些設置。檢查頭戴式顯示器是否可用。添加某些像SteamVRChaperone 的組件,但需要具體到某一設備。
5.1 必選模塊和內容
如果你想通過C++接入頭戴式顯示器,那么你需要在ProjectName.Build.cs 文件內裝入“HeadMountedDisplay”模塊,在里面你可以找到Visual Studio解決方法。下面就有一個從VR第一視角建立項目的案例。https://github.com/tomlooman/VRTemplates/tree/master/VRFirstPerson

如果需要使用HMD額外的功能,或者動作控制組建,請確保加入一下頭文件。

6.性能注意事項
為了讓你體驗舒適VR,你的游戲需要在75赫茲(Oculus DK2)或甚至90赫茲運行。這都(HTC VIVE和Oculus CV1)取決您的設備。要在運行游戲的時候可以在控制臺的“STAT FPS”或“統計單位”(更詳細的分解)去了解您當前的幀速率類型。
6.1 CPU性能分析
您的游戲可能會收到CPU或GPU的約束,找出你需要測量的東西(一種快速的方法是使用“統計單位”)。由于gen游戲以及引擎的復雜性,幾乎不可能去很好預測你CPU性能瓶頸,所以選擇合適的工具把!鮑勃?特列斯在博客上寫了一篇關于CPU性能分析與虛幻引擎4的文章(https://www.unrealengine.com/zh-CN/blog/how-to-improve-game-thread-cpu-performance),這是一個很好的開端。
6.2 GPU性能分析
為了捕捉GPU時序的單個幀,可以按Ctrl+ Shift +,或在控制臺輸入“profilegpu”。該命令可以準確測量GPU時序,在使用VR時,你會發現某些處理過程對幀速率壓力很大(Ambient Occlusion就是一個例子)。

GPU性能分析(https://docs.unrealengine.com/latest/INT/Engine/Performance/GPU/)和性能以及分析文檔(https://docs.unrealengine.com/latest/INT/Engine/Performance/index.html)是了解分析你的游戲的好方法
雖然分析你可能會栽倒在取決于你的場景和項目等昂貴的特征上面。比如Translucent Lighting Volume,你雖然不需要,但是在你場景上加了一個固態成本,可以瀏覽Daniel Wright寫的AnswerHub post(https://answers.unrealengine.com/questions/91994/how-to-disable-translucency-volumelighting.html)以解決怎么禁用此功能。你所做的就是測量和檢測,沒有一個配置適合所有項目。
開發商想出一系列方案(https://fatedblog.com/2015/05/28/fated-and-the-quest-for-optimized-vr/),以滿足優化VR需求。比如,他們準備禁用 HZB Occlusion Culling(r.HZBOcclusion 0)、Motion Blur (r.DefaultFeature.MotionBlur=False)以及Lens Flares (r.DefaultFeature.LensFlare=False)。該命令不通過多會話仍然存在,所以你應該增加(或搜索和替換),它們在你的/Config/DefaultEngine.ini配置文件,雖然大多數這些設置都可以通過編輯>項目設置...>渲染來完成。
另一個優化就是去考慮實例化的立體渲染。我們在下面會提到。
6.3 實例化的立體渲染
最新發布的4.11介紹了實例化的立體渲染,瀏覽下面視頻,比較其如何工作。
Ryan Vance說:“基本上,我們可以利用硬件實例化通過單一繪制來以及渲染循環來同時畫眼睛。這明顯減少了CPU渲染線程時間,提升了CPU性能。在渲染線程上,Bullet Train可以實現CPU?15-20%的提升,GPU有7 – 10%的提升?!?/font>

要啟用此功能在4.11以上版本,會進入項目設置功能以及尋找“渲染類別”下的渲染實體化。
6.4 禁止需要大量計算的“后處理器”
某些后期處理的VR效果計算成本很高。AmbientOcclusion 和 TemporalAA.就是案例
要在項目層面禁用某些后期處理功能,可以按照編輯>項目設置>渲染。你可以在后處理卷中做同樣的事情。請記住,后處理量可以覆蓋以下指定的項目范圍的設置

6.5 減少場景的復雜性
如果目前硬件無法讓你達到FPS90的目標,您可能需要重新檢查以前的設置限制,并查看在像動態陰影,大氣煙霧效果和網格polycount場景的復雜性。
重要的是要盡量減少透支,以維持性能最大。許多半透明表面和/或粒子效果很容易使你的幀速率出故障。為了形象化當前著色器復雜度/透支可以按Alt+8的視口(按Alt+4,返回到默認視圖)。從Elemental Demo底部圖片可以了解大氣對你幀率影響多少(綠色=好,紅=壞,白熱化=極壞像素約2000著色器指令)
動態陰影和燈光對性能有很大的影響了。用可能多的光線Bake,你可以可能降低每幀的成本。

希望這有助于你開始在Unreal Engine 4項目使用VR吧。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 支持支持 反對反對 分享到新浪微博

該用戶從未簽到

2

主題

66

帖子

64

積分

LV.2

Rank: 2

積分
64
QQ
沙發
發表于 2019-11-3 23:57:00 | 只看該作者
嗯,很不錯的樣子??!

該用戶從未簽到

0

主題

46

帖子

44

積分

LV.1

Rank: 1

積分
44
QQ
板凳
發表于 2019-11-6 02:56:51 | 只看該作者
增強現實希望發展越來越好

該用戶從未簽到

2

主題

48

帖子

46

積分

LV.1

Rank: 1

積分
46
QQ
地板
發表于 2019-12-12 01:32:56 | 只看該作者
這里竟然還有這么一個關于AR的網站的收藏了

該用戶從未簽到

2

主題

66

帖子

64

積分

LV.2

Rank: 2

積分
64
5#
發表于 2020-3-26 09:50:39 | 只看該作者
樓主辛苦了。?;靥且环N美德
您需要登錄后才可以回帖 登錄 | 立即注冊 新浪微博登陸

本版積分規則

關閉

站長推薦上一條 /1 下一條

快速回復 返回頂部 返回列表
南通棋牌游戏大厅围棋下载