想开发VR游戏?你需要注意这些东西
转自:http://www.gamelook.com.cn/2016/03/246620
开发VR游戏很难吗?有些人会说是,但在HTC虚拟现实新科技部门副总经理鲍永哲看来,VR游戏的门槛并不比一般的游戏高。“据我所了解,做PC游戏的团队做VR,从技术来讲,难度不高,难的是创意”,他说。
先不说是不是真的如此,VR作为一个新的平台,它有新的硬件,新的体验,对于想进入或是已经开始VR游戏开发的团队来说,有些与传统游戏开发不同的地方或许可以提前了解一下如何应对。
如何让玩家不晕?
在现实世界中,如果你突然转头,但周围的画面过了1秒钟才显示出来,这时你的大脑是不会将画面和头部运动联系起来的,如果你不停地转,很快就会晕到吐。在虚拟现实中,我们要尽量避免这种情况出现。针对这点VR开发者可以参考以下几条建议。
无论如何,尽力将帧数维持到90 FPS。
帧率对VR的体非常重要,太低容易造成眩晕。目前HTC VIVE、Oculus Rift和PSVR对游戏的建议都是90 FPS,PSVR还可达到120 FPS,而Gear VR为60 FPS。
不要设计加速
我们都知道,眩晕是由于VR画面运动跟我们身体的运动不一致导致的,平缓的画面眩晕感不会太强,而一旦加速,很多人就会受不了,就像过山车一样。
当游戏人物在走或跑时,不要把相机上下晃动。
这个同样是为眩晕而考虑的,很多电影和游戏在人物跑动时,画面也会跟着抖动,这是为了将跑动的效果呈现给观众看,部分人看了其实也会晕,但影响不是很大。但在VR中千万别这么做,高沉浸感让眩晕感更强,一些用户很快就会吐。
没有鼠标键盘怎么交互?
在VR里有很多交互任务需要新的实现方式,比如导航,选择和操控物体,菜单和用户界面,文字输入等。原因是VR游戏的交互和传统游戏非常不同,这里没有鼠标键盘,没有触摸屏,手柄也不是最好的交互方式,所以三大VR平台都有自己的动捕手柄。
对于VR的交互实现方式目前并没有标准可供参考,不同的游戏、平台甚至用户可能都会不同。就拿导航来说:可以用手柄按键来实现,可以用手柄指向某个方向,可以语音说出目的地,可以直接走过去,可以用手势,可以用眼睛望着那个方向……非常多不同的实现方式,开发者应该根据情况选择最适合的一种。
想开发VR游戏?你需要注意这些东西
替身
用户在戴上头显时,会完全沉浸在虚拟的世界里,看不到自己的身体。这时候就需要在虚拟世界中设计一个用户的替身。它可以是用户的自我投射,也可以是完全不同的人。
如果你用的是一个具有全身动作捕捉功能的VR系统,那么把真人原比例完全投射到虚拟世界中会不那么难。但消费级的产品通常不会配备全身动捕,此时你得考虑虚拟世界的替身该如何映射现实中的用户。通常来说头和手的运动是被追踪的。
社交
一旦进入了虚拟世界,用户肯定不想只玩一把单机游戏,而VR特别适合多人联机。由于可以非常真实地模拟现实,两个人就算身处地球两端,透过VR也能感觉对方就在身边。比如VR虚拟影院这款应用就是要带给人们这种感觉。
而在游戏开发中,需要注意的联机事项和一般的游戏差不多。你需要把用户连接到同一服务器,信息同步,还要能看到其他人的替身。VR还需要特别注意网络延迟的问题,不然这虚拟的世界就太假了,游戏体验也不会好。
在不同的平台上运行
同时为Oculus Rift和HTC Vive开发游戏的开发者肯定不少,毕竟谁也不知道哪家会成为市场老大。而如果你先为某家开发了游戏,移植到另一个平台上时就需要注意适配的问题,各家的硬件都不同,交互、追踪系统也有很大差别。这就像同一个App适配iOS和Android一样,很多部分可能要重新开发。
沉浸感
VR呈现的不一定是能够以假乱真的世界,但它需要让用户感觉自己在身在一个新世界里,而不是从旁观者的角度看着这个世界。这时游戏设计就需要注意一些东西。
首先是连贯性,给自己创造的世界赋予某种特性时需要保证它是连贯的,比如一个失重的世界或是穿行的隧道。
其次是感官迷惑,这不仅包括运动,还有触觉、嗅觉、条件反射等,其目的是让你的身体对虚拟的画面作出反应。
然后还有交互设计,当你在为用户设计一种“体验”时,不能让他“为所欲为”,而是得按照你设计的方式来玩。比如沉浸感做得很好的一款VR应用“Verdun 1916-Time Machine”,它的交互非常简单:你只能转头,因为你是一名受伤的士兵。
总结
鲍永哲说的没错,其实VR游戏开发技术上不难,难的是设计和创意。因为没有人可告诉你每一步该怎么做,每个开发者都能去探索最好的VR体验。上文中的一些建议可以保证一些基本的体验,这里 :
延迟最小化,保证不会让用户玩得很晕;
要结合内容和硬件设计合适的交互实现方式;
正确地在虚拟世界中用替身映射用户;
高效地联机;
以上说的这些都是为了“沉浸感”这个词。
想开发VR游戏?你需要注意这些东西的更多相关文章
- Unity2016 Unity3D开发VR游戏的经验
http://z.youxiputao.com/articles/8313 在4月12日的Unite 2016大会上,暴风魔镜高级产品经理吴涛分享他用Unity3D开发VR游戏的经验,以下为分享实录: ...
- 惠普披甲过VR寒冬,花费巨资开发VR游戏
2016被称为VR元年,各大公司都在积极推动该领域的研究,其中HTC.0culus.索尼的成绩是最高的,不仅推出了自家研发的头显,而且销量还很可观.惠普在VR领域自然也有所投入,但是并没有比 ...
- 开发VR游戏的基本要求
由于我对VR技术的兴趣,我特意去网上查找了一下如果要从事VR游戏的开发,程序员要掌握的一些能力和要求.可能不太详细,只供参考. 1. C++ 语言必须过关,现在大部分的3dengine都用c++,不管 ...
- GOOGLE VR SDK开发VR游戏,VR播放器之中的一个
近期一年来,VR虚拟现实和AR增强现实技术的宣传甚嚣尘上.事实上VR,AR技术非常早就有了,一直没有流行开来.不可否认价格是影响技术推广的最大壁垒. 谷歌对VR最大的贡献是提供了便宜的谷歌眼镜,依照G ...
- 从蜘蛛侠到仙剑,为何知名IP都要开发VR游戏?
去年3月底斯皮尔伯格指导的<头号玩家>上映,为全球玩家和影迷塑造出一个庞大.刺激而又真实无比的虚拟游戏世界--"绿洲".电影上映后,在人们感叹斯皮尔伯格旺盛的艺术想象力 ...
- Unity使用UGUI进行VR游戏的界面开发
原文链接:http://gad.qq.com/article/detail/7181505 本文首发腾讯GAD开发者平台,未经允许,不得转载 我不知道有多少同学是跟我一样,在开发VR游戏中,是使用的面 ...
- 走进VR游戏开发的世界
http://geek.csdn.net/news/detail/76504 我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之前积累的体 ...
- Unity User Group 北京站图文报道:《Unity3D VR游戏与应用开发》
很高兴,能有机会回报Unity技术社区:我和雨松MOMO担任UUG北京站的负责人, 组织Unity技术交流和分享活动. 本次北京UUG活动场地–微软大厦 成功的UUG离不开默默无闻的付出:提前2小时到 ...
- 全景VR视频游戏外包公司:技术分享使用U3D+CB制作VR游戏
随着Oculus宣布1月6日开启预售,2016年很可能成为VR游戏元年,但很多的调研显示,手游设备才是市场增长的关键,SuperData发布的报告显示,2016年全球VR游戏市场规模预计在51亿美元左 ...
随机推荐
- Sublime 输入中文显示方框问号乱码
最近使用的sublime 编辑器出现了打开写好的程序,中文显示的确是方框,方框里面是问号,就是不显示中文. 然后再网上查找了一下,大概都是说是需要中文编码插件,比如converttoutf8 ...
- 更新gcc_Install gcc 4.7.x/4.8.x on CentOS
参考一:How to Install gcc 4.7.x/4.8.x on CentOS 参考二:CentOS 升级 gcc 和 g++ 的方法 参考三:linux yum命令详解 参考四:每天一个l ...
- SG函数略解
由于笔者太懒,懒得把原来的markdown改成MCE,所以有很多奇怪的地方请谅解. 先说nim游戏. 大意:有n堆石子,两个人轮流取,每个人每次从任意一堆取任意个,直到一个人无法取了为止.问对于石子的 ...
- mongodb 的主从配置
mongoDB主从配置如下: 主库: port=27017 dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/log/mongodb. ...
- C#反射第一天
[转]C#反射 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等. ...
- Spark-运行时架构
Spark运行时架构 在分布式环境下,Spark集群采用的时主/从结构.在一个Spark集群中,有一个节点负责中央协调,调度各个分布式工作节点.这个中央协调节点被称为驱动器(Driver),与之对应的 ...
- JConsole操作手册
一篇Sun项目主页上介绍JConsole使用的文章,前段时间性能测试的时候大概翻译了一下以便学习,今天整理一下发上来,有些地方也不知道怎么翻,就保留了原文,可能还好理解点,呵呵,水平有限,翻的不好,大 ...
- 区间dp的感悟
学区间dp似乎也很久了...对区间dp的通用模型都了解了一些 但是做题还是很坑 上了一点难度的题基本想不出什么思路.. 目前的做题方式就是看题 想一会发现自己不会做 看题解 好巧妙啊 理解后写一发.. ...
- 维度属性的KeyColumns,NameColumn和ValueColumn
维度的每一个属性都有KeyColumns,NameColumn和ValueColumn 1,如何理解KeyColumns,NameColumn和ValueColumn?对一行记录有不同的标识列,但 ...
- Spring使用proxool连接池 管理数据源
一.Proxool连接池简介及其配置属性概述 Proxool是一种Java数据库连接池技术.是sourceforge下的一个开源项目,这个项目提供一个健壮.易用的连接池,最为关键的是这个连接池提供监控 ...