本文章由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度时,旋转角色角度)。
如下图所示:
![这里写图片描述](image/56a4e1484ffd8.png "")
## 二、 帧率
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位置:
![这里写图片描述](https://box.kancloud.cn/2016-05-05_572b0083240f3.jpg "")
~~~
HMD射线跟踪:
~~~
![HMD](image/56a4e14bee186.png "")
## 五、 玩家的舒适度
玩家的舒适度意味着在没有玩家输入的时候,不要过多的移动玩家。这就意味着不要有“走路颠簸”或走路时摆动。不要让玩家在莫名的外力影响下移动等等。若你做这些事情,一些 玩家可能会觉得眩晕或恶心。相信我,我们已经做过这些。
## 六、 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添加内存跟踪功能