2.1 设置(setup)
好的VR体验需要花时间。用户可能需要调整头戴设备或者把手机放置在cardboard设备中。
避免让用户感到突兀,确保用户在已经准备好的情况下开始体验。不要自动或者倒计时启动应用。允许用户点击初始屏幕,提示他们准备好开始体验了。
2.1.1 进入和退出(entering and exiting)
安卓环境中,通过点击头戴设备icon切换2D和VR。
退出VR的标准方法是点击系统自带的返回键(如果有2D界面的话)或者点击home键。
2.1.2 头戴设备适应(headset adaptation)
推荐使用Cardboard的SDK来准确适应用户的特定头戴设备的物理特性。
通过使用Cardboard的SDK,你的应用可以自适应。SDK包括为特殊的Cardboard模型提供自动的立体配置,为特殊Cardborad模型镜头提供畸变校正。
不精确地放置立体图像,或者畸变校正特定头戴设备的镜头会造成用户的不适。推荐为用户提供大范围的头戴设备可用性,使用Cardboard SDK来避免复杂化。
2.1.3 全屏模式(full screen mode)
当应用进入VR时应当进入安卓的全屏模式,不要使用暗光模式。使用暗光模式将会减少你对屏幕的有效范围,系统控制或状态栏会出现在用户看不见的位置。
2.1.4 API调用(API calls)
当前安卓不支持在VR的3D立体情况下,渲染弹出对话框(dialog boxes)。
作为结果,应用不应该执行任何API调用,比如像在2D情况下展现的对话框那样。以下途径会造成障碍:
用错误的手段展示了对话框,结果对话框奇怪的穿越了双眼的视线。
为了点击对话按钮,用户需要物理上将手机从头戴设备中取出,在点击对话框后在插回去。
如果应用需要调用对话框API,在让用户把手机放入Carsboard之前就完成这个命令。
2.1.5 指明VR应用(indicating VR apps)
很多用户通过Google Play、Cardboard应用或VR应用集合来搜索你自己的应用。完全没必要在应用的icon上增加一个额外的标志,这样也会造成视觉负担。
最好用下面的办法来指明此应用是VR应用:
在应用的标题中就说明是VR。
在Google Play中的截图是立体版本,这种强烈暗示会让用户下载VR应用。
2.2 控件(controls)
当打开应用,需要在用户当前视场中放置UI控件。如果控件在视线之外,比如一直指向北边的话,用户会等待、困惑,不得不旋转一圈来找控件。
如果你的应用允许移动,根据用户改变的位置和视场来更新UI控件的位置。如果不更新位置,用户不得回过头来在原来的位置去找。
2.2.1 熔断按钮(fuse buttons)
像Cardboard这种设备,在设备的右边有一个点击目标的按钮。另外还有一种方法来点击按钮,就是创建一个带有倒计时器或熔断的视觉按钮,用户通过聚焦在按钮上一段时间来触发。
这种按钮在VR应用中越来越常见。但是,通过等待来触发按钮会让用户觉的很慢,很不爽。当使用熔断按钮时,一定要给出用户直接立刻点击的方法。
(1)视觉倒计时 (visual countdown)
当使用熔断按钮,用视觉化的倒计时用来传达激活,让用户知道结果。没有展示倒计时很容易造成误点,用户不会理解为什么当他们正在环顾四周时,应用会突然改变状态。
(2)按钮位置(button placement)
不要将熔断按钮彼此间放的太近。目标点够大是熔断按钮的最佳方式,所以按钮之间需要足够的距离。
如果多个特别小的熔断按钮放的比较近的话,用户可能会不小心误操作。离得过近的小按钮,应该通过直接点击的方式触发而不是熔断。
2.3 反馈(feedback)
2.3.1 声音(audio)
有千万种理由表明,在VR中用文字并不能很好的传达意思。文字太小且不易读。用户往往在虚拟环境中造成视觉信息负载。可以考虑通过声音为用户提供说明。
如果还没有声音资源,考虑用文本转换声音的方式给予用户说明。不要仅仅依赖声音去传达介绍性信息(万一用户接受不了),还可以通过用简短的、能接受的声音提示的方式来提升当前的视觉信息。
同文字说明一样,简洁很重要。
(1)将声音作为背景(audio as background)
VR应用意味着身临其境。用户往往需要带耳机。可以使用环境音让应用感觉更加真实,将用户更多的注意力已引导到应用的各个区域。
声音提供了一种同时向用户传达整个场景的方法。不用要求用户环顾四周去明白他们身处的环境。
2.3.2 触觉反馈(hapic feedback)
触觉反馈,来自触感的信息,改善了用户在VR中的触感体验。例如一个用户点击一个物体或者和控件交互这样的事件可以从触觉反馈中获得。即使触觉反馈在手机上不是真实,但是还是要做到更有触感的体验。
2.4 十字线瞄准(display reticle)
用户可以通过移动视线来瞄准小的物体。但是,如果为用户提供十字线(跟踪目标和视觉辅助)的话,这会让他们去完成目标任务时更加容易瞄准。当用户想要准确瞄准时,需要展示十字线。
如果你觉得展示十字线会减少沉浸感,或者创造了不需要的视觉干扰,请遵循下面的原则:
在用户接近目标并且能够触发他们的时候展示十字线。
在用户需要瞄准的对象上投射一束光源,或者设计一个明显的悬浮状态。
2.4.1 十字线尺寸(reticle size)
如果展示十字线,则需要立体渲染(制造视觉深度),并且可以在空间中投射到目标对象上。如果十字线在目标对象前方几米之外悬浮,这样很难让用户聚焦在十字线和十字线所瞄准的对象上。
十字线的大小可以适当的根据移动深度来测量,也可以保持固定大小使其无论何时都能被用户看到。