转自: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游戏?你需要注意这些东西的更多相关文章

  1. Unity2016 Unity3D开发VR游戏的经验

    http://z.youxiputao.com/articles/8313 在4月12日的Unite 2016大会上,暴风魔镜高级产品经理吴涛分享他用Unity3D开发VR游戏的经验,以下为分享实录: ...

  2. 惠普披甲过VR寒冬,花费巨资开发VR游戏

         2016被称为VR元年,各大公司都在积极推动该领域的研究,其中HTC.0culus.索尼的成绩是最高的,不仅推出了自家研发的头显,而且销量还很可观.惠普在VR领域自然也有所投入,但是并没有比 ...

  3. 开发VR游戏的基本要求

    由于我对VR技术的兴趣,我特意去网上查找了一下如果要从事VR游戏的开发,程序员要掌握的一些能力和要求.可能不太详细,只供参考. 1. C++ 语言必须过关,现在大部分的3dengine都用c++,不管 ...

  4. GOOGLE VR SDK开发VR游戏,VR播放器之中的一个

    近期一年来,VR虚拟现实和AR增强现实技术的宣传甚嚣尘上.事实上VR,AR技术非常早就有了,一直没有流行开来.不可否认价格是影响技术推广的最大壁垒. 谷歌对VR最大的贡献是提供了便宜的谷歌眼镜,依照G ...

  5. 从蜘蛛侠到仙剑,为何知名IP都要开发VR游戏?

    去年3月底斯皮尔伯格指导的<头号玩家>上映,为全球玩家和影迷塑造出一个庞大.刺激而又真实无比的虚拟游戏世界--"绿洲".电影上映后,在人们感叹斯皮尔伯格旺盛的艺术想象力 ...

  6. Unity使用UGUI进行VR游戏的界面开发

    原文链接:http://gad.qq.com/article/detail/7181505 本文首发腾讯GAD开发者平台,未经允许,不得转载 我不知道有多少同学是跟我一样,在开发VR游戏中,是使用的面 ...

  7. 走进VR游戏开发的世界

    http://geek.csdn.net/news/detail/76504 我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之前积累的体 ...

  8. Unity User Group 北京站图文报道:《Unity3D VR游戏与应用开发》

    很高兴,能有机会回报Unity技术社区:我和雨松MOMO担任UUG北京站的负责人, 组织Unity技术交流和分享活动. 本次北京UUG活动场地–微软大厦 成功的UUG离不开默默无闻的付出:提前2小时到 ...

  9. 全景VR视频游戏外包公司:技术分享使用U3D+CB制作VR游戏

    随着Oculus宣布1月6日开启预售,2016年很可能成为VR游戏元年,但很多的调研显示,手游设备才是市场增长的关键,SuperData发布的报告显示,2016年全球VR游戏市场规模预计在51亿美元左 ...

随机推荐

  1. 【codevs3012+codevs3037】线段覆盖4+线段覆盖5(DP)

    线段覆盖4网址:http://codevs.cn/problem/3012/ 线段覆盖5网址:http://codevs.cn/problem/3037/ 题目大意:给出一条直线上的一坨线段,每条线段 ...

  2. 如何用wamp配置多域名虚拟目录

    一.前言 自从重装了最新版wamp64后就不可用了,下面来介绍我的解决方法,两者均可尝试,差别并不大! 二.配置虚拟主机 1.首先打开apache的配置文件httpd.conf (路径\wamp64\ ...

  3. 关于选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘。问题解决

    昨天在为一位学弟装系统的时候需要了这个问题,现在把解决问题的步骤写下来. 在此界面按shift+F10 启动cmd命令行模式 在cmd模式中输入diskpart,进入diskpart模式 此时,lis ...

  4. hdu 5147 Sequence II 树状数组

    Sequence II Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Prob ...

  5. SaaS架构经验总结

    2B Saas系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显. ...

  6. PHP中preg_match正则匹配的/u /i /s是什么意思

    /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象) /s 表示将字符串视为单行来匹配

  7. 返回结果的HTTP状态码

    HTTP状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果. 2xx成功 2xx的响应结果表明请求被正常处理. 200 OK 请求已正常处理 204 No Content 请求处理成功,但是 ...

  8. 解析Ceph: 数据的端到端正确性和 Scrub 机制

    转自:https://www.ustack.com/blog/ceph-internal-scrub/ Ceph 的主要一大特点是强一致性,这里主要指端到端的一致性.众所周知,传统存储路径上从应用层到 ...

  9. 打印控件Lodop

    官网:http://www.lodop.net/demo.html Lodop.C-Lodop使用说明及样例   Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又 ...

  10. 四种launchMode

    注意:如果在一个singleTop或者singleInstance的ActivityA中通过startActivityForResult()方法来启动另外一个ActivityB,那么系统将直接返回Ac ...