近年来,虚拟现实技术在诸多方面取得了突破性的进步。但作为一个全新的平台,虚拟现实开发者正面临各式各样的挑战。本文结合自身的开发经验,从Vive设备、通用VR开发以及更具哲学性的VR三大模块,分享虚拟现实开发的技巧。
Vive设备技巧
1. 要求用户按下开始按钮。这样操作的关键在于:
确保用户已配戴好头戴设备并做好体验准备;
确保用户手中至少有一个控制器准备就绪;
在特定点上设置对象且适合用户高度(即对象的高度接近用户并且相对于用户的头部又有一定的距离);
这个按钮连接主控制器(无论用户使用左手还是右手)。如果控制器分工不同,可以使用这个按钮操作主控制器。
2. 与其他按钮相比,某些按钮必须会更方便快捷,如主机控制器。尽可能使按钮使用更简单。依据玩游戏及日常使用的经验,笔者推荐以下使用的优先级顺序:
触发按钮
单按钮的触控板
3D世界交互(如按控制器的3D按钮)
菜单按钮
四个按钮的触控板
手柄按钮(这些按钮不建议使用除非非用不可)
3. 设置体验空间范围,目标大小为2 m*1.5m或更小来可以捕获81%的用户。这将保证你捕获尽可能多的观众。更多当前用户的数据细节可以在这里找到。
4. 不建议用户将他们的控制器或头戴设备太接近对方。因为某个时候他们可能会击打某些东西可能会损坏设备。
5. 当用户与虚拟世界交互时可使用控制器振动以增加存在感。一个很好的例子是根据Vive设置房间规模。用户移动设备越快,振动也会越快。
6. 许多用户看不到他们的控制器,鉴于这种情况,有以下三个主要的解决方案:
在用户视图中添加一行按钮或渲染文本。固定侧面视图,当控制器转移其视域时,用户必须看向文本中心方向。任何他们看不到控制器的时候,这可以扩展为将控制器显示成一个图标,他们可以使用控制器与世界交互。
将文本放置用户面前告知他需要查看控制器。
当你想要向用户展示一个特殊的按钮时添加至音频队列告知用户需查看控制器。
通用虚拟现实开发技巧
1. 帧速率是至关重要的。实现高帧速率在虚拟现实中远远比其他因素重要。当你添加的东西影响帧率低于90 fps时要考虑所添加的是否很重要。以970 GTX作为最低硬件配置标准,确保图像帧率的最低标准可达到90 fps。
2. 注意屏幕效果。我们可以谅解电脑显示器上的镜头光晕,但是这会导致虚拟现实完全不真实。对于游戏开发者来说这是个特殊的问题并且有时会夸大事实(如bloom)。在游戏中不要以看起来“好”作为游戏开发标准而是应该考虑更加真实。使用以下列表作为处理效果的重要性的通用指南:
抗锯齿
颜色校正
Bloom效果
屏幕空间环境光遮蔽技术 (通常不用这个因相比回报这个成本太高)
3. 根据叙事空间设计所有UI。用户设备的分辨率足够阅读3D。并且保证文本足够大。一些用户在虚拟现实中无法配戴自己的眼镜,因此确保文本足够大。将UI添加至控制器中是一个不错的方式,可以让用户控制文本的大小且可使用控制器将界面放置足够阅读的距离。
4. 尽可能使用音频。虽然VR中UI效果很好,但尽可能使用音频队列将会更好。用户可以同时做多件事情,听音频同时可执行另一个操作。
5. 当运输/传送用户时可隐藏于黑暗中。笔者在开发中,也保持现场少量的时间(约0.2秒)完全黑了来帮助大脑过渡。
6. 保持事物与用户之间有最小距离,当距事物近距离观看时可能到导致混乱和用户化身不舒适。相比不舒适关闭虚拟现实,附近有个z平面进入会更好。尊重用户的个人空间。
7. 构建的细节问题。如果用户选择且接近一个对象时就会在这些对象中专注细节。除模型质量外,纹理细节是最重要的。
8. 在虚拟现实闭上一只眼睛观察对象效果很好。固定视野和范围(包括武器和望远镜,显微镜等)是非常有效的。
9. 不要插入对象相对于用户锁定它们。保持旋转锁定和锁定1、2或3轴的位置。
富有哲学的虚拟现实
1. 虚拟现实放大了游戏/体验中最好和最差的部分。当虚拟现实作品较好,它会运行得很好。一个好的项目所达到的水准是在虚拟现实中可即刻被购买。不幸的是,不好的体验也是如此。低帧率、低质量和其他出现的问题可以完全毁了体验,有时导致模拟者生病。更好的制作意味着更多的责任。
2. 绝对优先级是存在。忽视这些规则,打破所在的应用程序。
3. 我们处于科技前沿因此需要花时间思考每一个新出现的问题,看是否有解决它的新颖方法。不要只是回到上一代游戏/应用程序并且重新构建。
4. 尊重用户。尊重他们的个人空间及舒适水平。将非游戏玩家和一直参与游戏/体验的人们纳入考虑范围。
5. 目前虚拟现实的最大威胁是在炒作和糟糕的期望值。著名Steam游戏数据统计网站Steam Spy统计销售最大数值为10-20k。虽然用户装备销售量较好,但是不要忘记这是第一代的用户装备因此期望值不要过高。
6. 事情会迅速变化因此需做好准备。最好从小事开始,然后开始建立产品名称并发布产品,最终从发布的VR内容中获取真实体验。
7. 观察第一次使用VR的目标受众(玩家或非游戏玩家)。尽早的关注用户玩原型VR。因为VR放大了所开发的软件最好和最差的部分,因此得到很宝贵的反馈。
8. 演示的时候,有关用户体验不要设计的太复杂。大多数人乐于尝试,但如果创建太过复杂,一些人将会放弃。
9. 建立一致性。当前游戏领域最主要的不好影响是游戏间相互矛盾。与其他VR开发者共用相同语法和遵循相同的准则。我们应该是一个包容的社会,比竞争更重要的是相互帮助。