OCulus Rift 游戏开发六原则
来源:互联网 发布:心动网络 面试时间 编辑:程序博客网 时间:2024/04/29 13:50
本文章由cartzhang编写,转载请注明出处。 所有权利保留。
文章链接: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/
-
若有问题,请随时联系!
非常感谢!
- OCulus Rift 游戏开发六原则
- oculus rift 开发入门
- 7分钟内快速开发一款Oculus Rift虚拟现实游戏
- oculus rift 开发(一)
- UE4关于Oculus Rift (VR)开发忠告
- UE4关于Oculus Rift (VR)开发忠告
- Oculus Rift & Unity 开发配置和注意事项
- VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(六)
- VR系列——Oculus Rift 介绍指南:六、入门
- Oculus Rift:让你身临其境玩射击游戏
- 使用 Bluemix 分析来自 Oculus Rift 的游戏数据
- 用Unity开发基于Oculus Rift的体验游戏时遇到天空盒重影问题的解决方法
- VR系列——Oculus Rift 开发者指南:六、Oculus触控
- Oculus Rift安装
- Oculus Rift SDK 安装
- Oculus Rift 渲染
- Oculus Rift内部结构
- 渲染到Oculus Rift
- 花生壳域名ping不通怎么办
- 自定义标签开发
- [转载]深入理解java异常处理机制
- Mac 安装GCC(不使用Xcode)MacPort
- LeetCode_Convert Sorted Array to Binary Search Tree
- OCulus Rift 游戏开发六原则
- 极致简单的二维码条形码扫描工具
- java学习之旅47--模拟Servlet的service和doGet方法
- Codeforces 555B Case of Fugitive 搭桥
- UITextView 文字上留有一大片空白
- MyEclipse 快捷键大全
- mysql主从配置
- repo—git入门使用
- mysql 所使用的表类型不支持fulltext