当前位置: 移动互联网学院 > VR开发 > 开发VR游戏需要注意哪些问题?
开发VR游戏需要注意哪些问题? 时间:2017-04-07     来源:VR开发小赢家

VR开发现在的发展可谓是十分火热,尤其是VR游戏开发者现在也是越来越多。今天华清远见VR开发技术频道为大家分享一些开发VR游戏时需要注意的问题,也为大家提供了一些建议,希望对大家能够有所帮助。

使用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就可以打开。

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

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

1、纹理压缩ETC2 GLES3.0

2、方向设置为横向左

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

4、启用多线程

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

6、抗锯齿大2倍

7、需要Oculus Gear VR签名文件

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

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

2、直接构建到Gear VR硬件

3、很容易看出性能瓶颈

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

移动VR游戏开发的建议:

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也是比较自然的交互方式。

VR游戏开发