本文章由cartzhang編寫,轉載請注明出處。 所有權利保留。
文章鏈接:[http://blog.csdn.net/cartzhang/article/details/46685477](http://blog.csdn.net/cartzhang/article/details/46685477)
作者:cartzhang
### OCulus Rift 游戲開發六原則
你是一個游戲開發者?在你的生活中,你涉及游戲開發的那些點呢?你是否聽說過Oculus Rift VR系統呢?你是否贊同業內的一些聲音,說Oculus Rift將會是游戲的未來?
當我們游戲開發插件或一些工程時候,這有一些點,需要注意或弄清楚的。
虛幻4引擎已經集成了Oculus Rift開發,你只需從網上下載Oculus的SDK,插入Oculus設備,虛幻4引擎可以自動設備。要是你認為就這么簡單的話,那你完全錯了。這就是生活啊!
為保證你開發Oculus游戲的可玩性,有一些注意事項你需要了解:
1. 玩家的移動
2. 游戲幀率FPS
3. 適合HMD(頭戴設備,本文中指的是Oculus Rift)的關卡設計
4. 針對Oculus
5. 玩家的舒適度
6. Rift分辨率
## 一、 玩家的移動
Ok,這個很基本。在頭戴設備的射擊游戲中,有三種方法可以使玩家移動:
——玩家朝著他看的方向移動,包含Oculus的方向
——玩家移動由鼠標方向確定,但是Oculus Rift可以實現相機偏移,這樣玩家玩家可以往邊上看,但是移動方向不變。就像是鼠標控制移動方向,頭卻被Oculus Rift 控制。想象一聲機甲戰士。
——玩家移動僅由玩家看的方向控制,但是當你使用頭盔看的角度大于60度時,你可以旋轉角色。
前兩個可以設置玩家相機,是否跟隨HMD的方向旋轉。第三個選項你可以跟隨HMD方向,并添加藍圖代碼來控制相機(當HMD旋轉角度大于±60度時,旋轉角色角度)。
如下圖所示:

## 二、 幀率
Oculus Rift DK1官方建議幀率為60fps,這就意味著當幀率低于60時,在玩游戲的過程中,玩家體驗會一團糟。
另一方面,Oculus Rift DK2官方建議幀率為75fps。這就意味游戲有足夠的寬容度來滿足在不同的電腦上運行,并保證至少高于值(70,85FPs)10FPS,也意味著更多的硬件開銷。
你可以使用以下手段來提高你游戲的寬容度:垂直同步(V-Sync),HMD分辨率(HMD resolution),紋理質量(texture quality), shadow quality,特效質量(effects qualit)和 post-process 質量。
控制臺命令:“hmd sp 值”用來設置顯示屏百分比-HMD的分辨率,在沒有HMD插入時候,此命令不起作用,所以要確保包含此選項來方便玩家使用。hmd sp 100意思就是玩家設置為100%,由于一些原因,它沒有缺省值。
**譯者說明:DK2缺省為135%。**
## 三、 關卡設計
現在,除了這些技術選項外,你還需要考慮到的就是關卡的設計。東西不要顯的太小。另外,在當前的Oculus Rift階段,不要讓玩家讀太多東西,因為分辨率真是太低了,太多的閱讀,玩家很難集中注意力在小的物體或文字上面。這也適用于GUI。經驗表明3維的GUI要玩家很容易的瞄準按鍵是最好的選擇,等等。
## 四、 針對Oculus
針對Oculus這個建議可能有點搞笑。因為你將會計算HMD相對于玩家位置的偏移。Oculus本身內置相機有它自己的跟蹤空間(相對位置和旋轉),而相機本身與渲染點有偏移。
這就意味著你需要從相機位置發個射線,設置相機的開始位置加上HMD的偏移位置。對于旋轉來說,最好的方法是從相機對象或相機控制者取得一個向前的向量。
設置HMD位置:

~~~
HMD射線跟蹤:
~~~

## 五、 玩家的舒適度
玩家的舒適度意味著在沒有玩家輸入的時候,不要過多的移動玩家。這就意味著不要有“走路顛簸”或走路時擺動。不要讓玩家在莫名的外力影響下移動等等。若你做這些事情,一些 玩家可能會覺得眩暈或惡心。相信我,我們已經做過這些。
## 六、 Rift的分辨率
目前Rift的分辨率很難讓人注意到游戲中小的細節或文字。所以一些小的重要的對象,一定要放在HMD位置的前方,這樣玩家就可以容易看到他們。同理對于三維的文字或帶文字的對象。將來分辨率或DPI會提高,暫時呢只能這樣。
我希望這些小小的技巧可以幫助到向我們一樣遇到問題的人。Oculus游戲的開發也許當然很混亂和令人沮喪,但是沉下心來,會覺得很有意思。實話實說,為最新的電子游戲技術開發電子游戲感覺特別棒。
原文地址:[http://pluggedthegame.com/community/devblog/six-ways-to-make-that-awesome-game-youre-developing-work-on-oculus-rift/](http://pluggedthegame.com/community/devblog/six-ways-to-make-that-awesome-game-youre-developing-work-on-oculus-rift/)
若有問題,請隨時聯系!
非常感謝!
- 前言
- UE4在VS2013中各個編譯配置代表意義
- UE4的JSON讀寫方式<一>
- UE4.5.0的Kinect插件(Plugin)<一>
- UE4.5.0的Kinect插件(Plugin)---插件使用說明<二>
- UE4的JSON讀寫方式<二>
- 熱烈慶祝UE4完全免費Free---GitHub上源碼的關聯方法
- Kinect舒適區范圍--UE4 的Blueprint測試范例
- UE4制作插件的插件神器pluginCreator
- 美輪美奐宇宙星空制作神器Spacescape
- OCulus Rift 游戲開發六原則
- 給虛幻4添加內存跟蹤功能