Unity美洲区技术总监:开发VR游戏的建议以及需要注意的问题
当前位置 :首页>产业新闻>返回
时间:2016-02-25 编辑: 来源:游戏陀螺

  游戏客栈今日报道(2016.2.25)本文中图片由Unity官方提供,版权所有,禁止用于任何商业用途。

  2月18日,Unity VR大师课程在广州举行,现场座无虚席,开发者们反应非常热烈。在本次课程中,Unity美洲区技术总监Carl Callewaert分享了VR游戏的发展趋势、开发VR游戏的建议以及需要注意的地方。

  Carl Callewaert拥有超过10年的游戏开发经验,在3D动画、游戏开发、动作捕捉、虚拟现实开发等方面拥有丰富的经验。

 11.png

  数据:VR硬件销售预计达3890万,71%为基础型移动VR硬件

  首先,Carl发布了一组数据来阐述了VR的发展情况。预测2016年市场上VR硬件销量将会达到3890万,其中71%用的类似Cardboard式的便携设备,数日前Google Cardboard发布销量达到500万台。类似Gear VR的高级移动式VR硬件的占比大概为7%;连接电脑VR户占比17%;主机VR占比5%。现阶段,VR设备主要是以轻度基础型为主,这类设备廉价,可以给用户带来基本的虚拟现实入门体验,对于市场的普及可以起到很好的作用。

 11.png

  VR将以指数型增长,而非直线增长

  对于VR的增长趋势,很多机构都发布了预测数据,根据某机构预测,2016年VR市场将达到50亿美元,2020年,VR+AR市场将达到1200亿美元,而早期增长主要来自VR,但是后期AR将成为主要增长点,因为AR相比VR应用范围更广。

 11.png

  对于这个呈直线形增长的预测,Carl提到,Unity的CEO认为这个增长趋势是错误的,VR的发展应该是指数型的,开始可能会比较慢,早期市场比较混乱,经过一段摸索期之后才会逐渐进入稳定期,到后期呈现爆发式的增长。

 11.png

  使用Unity在各个平台开发VR游戏需要准备哪些?

  现在的VR游戏分为好几种形式,移动端、PC端、主机端,每一种形式的游戏需要用到的基本开发工具各不相同,此处将列举Oculus平台和Gear VR平台所需要的开发工具。相对来说,移动端所需要的工具更多更复杂。

  Oculus平台:

  1.Oculus SDK

  2.Oculus Runtime

  3.Unity4.5及以上版本,建议使用5.0以上版本

  Gear VR平台:

  1.Oculus Mobile SDK

  2.Oculus Runtime

  3.Java Developers Kit

  4.Android Development Tools(ADT)

  5.Galaxy USB drivers

  6.Unity4.5及以上版本,建议使用5.0以上版本

  注意:5.1以上版本开启VR支持非常简单,菜单PlayerSetting/Virtual Reality Supported就可以打开。

  VR游戏必须死守的重中之重:帧数

 11.png

  现阶段,帧数低是产生眩晕主要的原因之一,而VR游戏无论如何必须达到各个硬件指定的帧数。因为如果帧数不够,头部在转动的时候帧数会跟不上而导致眩晕。

  Carl提到,VR游戏最主要的一点是保持稳定的帧率,Oculus平台的游戏至少达到75帧,HTC vive至少90帧,Gear VR要求相对较低,不过也需要保持60帧的帧率。即便画面效果做的再好,帧数如果跟不上会大大降低用户体验。相对来说,简单的卡通风格画面效果要比逼真的写实风格更好。

  此外,游戏设计时每局的时间需要控制好,最好以每局时间控制在5~20分钟左右,这样可以防止用户长时间玩游戏产生眩晕。

  Unity开发游戏设置注意事项:

  使用Unity开发游戏时软件设置需要注意的地方:

  1、纹理压缩ETC2 GLES3.0

  2、方向设置为横向左

  3、垂直同步设置为不同步

  4、启用多线程

  5、设置固定的时间步长更新

  6、抗锯齿最大2倍

  7、需要Oculus Gear VR签名文件

  11.png

  使用Unity自带的Profiler测试游戏性能时:

  1、可以通过USB或WiFi查看实时应用程序的性能数据

  2、直接构建到Gear VR硬件

  3、很容易看出性能瓶颈

  4、在移动VR中,无论多小的优化都是有用的

  11.png

  移动VR游戏开发的建议:

  11.png

  1.尽量减少游戏里面的面片模型。这是为了让GPU的负担更少,提高帧率。在VR里面建模和一般的游戏建模有些不同,一般游戏里可能会用到凹凸贴图效果,但是凹凸贴图能达到近似效果,并不是真正凹凸的,当用户非常靠近这个模型的时候,是看不到凹凸效果的,所以在VR游戏里面不应该用凹凸贴图这样的一个技术。

  2.其他在做移动VR游戏的时候,尽量用对象池,这样的话可以减少游戏加载的时间,并且让帧率保持稳定。

  3.避免一些高CPU集中的运算导致的帧率突然下降。

  4、这是很多开发者经常犯错的地方。在看游戏运行的时候,在editor的数据里面,大部分的开发者会非常留意Batches以及Saved by batching,来考虑GPU的性能好不好。但是其实SetPass这个数据在也是需要关注的点。因为GPU在渲染东西的时候,每更换一次材质的时候,就是它更换上下文的时刻,Batches数量增加没有Setpass增加消耗的快,Batches虽然很多,但是他们是共享同一个材质的,这个时候GPU的上下文其实没有改变,可以的话尽量让游戏里面的材质少一些,SetPass出来少一点。

  5、在VR里面景深和镜头的光晕是不能用的,因为它其实只是模拟出来的一个效果,并且是单眼的,而景深是需要双眼看才能产生的,所以不能单眼画面来做。

  6、游戏里面的摄像机,当开启VR模式的时候,是无法控制摄像机位置的,因为摄像机的位置已经完全被VR的设备接管了,这个时候脚本是没用的。所以如果要调摄像机的位置的话,需要给摄像机一个父节点,然后就像图上面一样,把它放在一个父节点的里面,在脚本里面去控制这个父节点的位置。

  VR游戏开发插件推荐

  开发VR游戏,选择工具非常重要,而一切便捷的插件可以带来很大的帮助。在ASSET STORE上,可以下载到很多配合VR游戏开发的插件,比如用于游戏中的准星、UI等插件。Carl向开发者推荐了两个插件,一个是Mesh Baker,可以把工程里面的材质合并成一个单独的材质,用这样的方式来减少SetPass的数量。另外一个是免费的插件Simpleygon,这个插件制作模型的简化版本。

  游戏交互

  现在VR游戏的交互设备种类繁多,并且越来越高级,早期可能以手柄这样的硬件操控为主,不过到后期加入了体感动作捕捉等高级交互方式,对于游戏的交互,Carl提到,在开发游戏之前需要先想清楚游戏适合怎样的交互方式,是否需要使用交互设备。

  而他比较推荐的方式是用UI来显示现在用户的视觉焦点在哪个位置,可以让用户的眼镜聚焦他自己现在在看的那个点,使用头部转动的自然方式去进行游戏的主要交互。

  例如下图,这是游戏中的选择菜单,用户在前方可以看到一条提示,下面有一个UI,一般的方式是选择点击,不过在VR游戏中可以将用户视线聚焦到选项条上,经过数秒读条后表示选择确认,不需要按键,只需要转动头部就能选择,这种方式能给用户更好的体验。另外Oculus Touch也是比较自然的交互方式。

 11.png


2月微信小游戏百强榜

《神隐之子》挖掘赛道亮点

摔角游戏买量观察

健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防上当受骗 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活

京ICP备15024595号-1

游戏客栈 游戏客栈