Google Cardboard 设计
新的视角
在VR中设计极好的用户体验比在传统2D画面中要难很多,本规范的实践是基于Google Cardboard 设计团队早期的VR应用和原型。根据人类感知和认知的基本原则,他们将帮助你更好地设计VR平台应用。
随着团队在VR领域的继续探索,本规范将会成为一个全面的VR设计资源。这将是一个令交互、视觉和影像设计师兴奋的时代。
避免模拟器综合症(simulator sickness)
VR设计将引进一个新的生理注意事项。像飞行员使用的飞行模拟器,VR可能存在物理运动与视觉运动线索不匹配问题。这种不匹配会导致“模拟器综合症”的恶心,例如你的眼睛感到你在运动,但是你的身体并没有动。
了解生理对VR设计的影响,并遵循相关设计指导,将决定你的app用户能否避免“模拟器综合征”。
建立熟悉感
作为一个新的媒体,人们对VR的交互并不熟悉。因为VR的画布(背景)可以是无限的,所以在VR中引导用户的焦点和注意力将会比2D应用更有挑战。本设计指导包含成功的交互模式和怎样去避免常见的混淆用户的设计错误。
生理注意事项
晕动症(晕车、晕船、晕机)的原因是由于你的感觉和你期望的感觉不一致导致;汽车乘客如果不看窗外容易晕车,而司机则很少晕车,因为他们能在运动前预测到运动的感觉。
进化论给为什么存在这种不一致提供了线索。吃了有毒食品时恶心呕吐可以排除毒素,以保护我们的祖先不被毒死。当你从自身的平衡感(大脑前庭系统)收到的感知和不得视觉系统不一致时,会导致恶心,感知晕动症的能力已经进化为一种生存技能。
但是在现代生活中,晕动症的害处比益处多。app开发和设计人员有责任遵循本规范来降低用户体验模拟器综合症的机会。
头部跟踪
无论你如何移动你的头部,头部跟踪都可以让物体在虚拟空间中保持固定的位置,创造一个围绕你的虚拟视觉世界。
VR设计中最重要的原则就是始终保持头部跟踪。在应用中永远不要停止对用户头部位置的跟踪。即使一个短暂停都会让用户感觉不舒服。
3D空间渲染2D图像
相对用户头部固定的画面或图像,及关闭头部跟踪会引起用户不适。
当显示一个logo或标题画面时,渲染2D到3D虚拟空间,并保持头部跟踪。VR应用跟踪头部在一个自由度上的旋转基本能避免大部分用户的恶心感,但是跟踪三个自由度(旋转,俯仰,偏头)更好。
避免头部跟踪轻微暂停
当测试你的app时,重点关注头部跟踪无意间的暂停。这可能发生在加载一个新的场景或设备的性能不足。如果你的app在特定时间段一定要暂停头部跟踪,在停止头部跟踪前,先让屏幕变黑。
当不能保持头部跟踪时,你可以这么做
在屏幕变黑时保持声音反馈,帮助确定 app仍在运行,以及表明正在加载新的信息。
用一个不断变化的颜色填充整个屏幕,或改变亮度等级来提供视觉反馈,避免因停止头部跟踪导致的迷失感。因为屏幕是作为一个整体在变化,并且没有一个明显的用来跟踪的物体。就不让用户不适。
用户控制运动
让用户在app里成为“司机”而不是“乘客”是非常重要的。用户在app里应该时刻保持对自身运动的控制;这样他们就能积极的预测即将看到的内容。不过有一些例外,如过山车或其他让用户体验固定的运动场景应用,更有可能导致一些用户不适(也可能是更兴奋刺激);但根本上,用户应该仍然要控制,最好让用户控制过山车的开始。
使用恒定的速度
在现实世界里,我们能感觉到加速和减速,但我们感觉不到速度,例如,我们在坐飞机时,可以感觉到起飞和着陆,但是,当飞机在定速巡航时,我们感觉不到任何东西(假设没有颠簸);同样地,当乘车时我们不能感觉到恒定的速度,只能在速度变化时有感觉。
当用户在app感觉到虚拟的加速或减速时,但他们在现实中并没有感到任何变化,他们看到的和感觉到的不一致会导致他们不适。当用户在app里移动时,我们可以保持用户在一个恒定的速度移动,以此来解决加速和监督导致的不适。
接触固定的物体(固定参考点)
当用户坐着使用VR设备时,将用户放置在一个固定的虚拟环境中(如一个虚拟的座椅)可以帮助用户同步VR中的运动感觉和现实(实际现实中是不动的)一致。通过让用户接触虚拟的驾驶舱、座椅或者其他固定物体来解释为什么他们坐着 - 尽管在VR中显示他们是移动的。
如果用户靠近一个正在移动的、巨大的虚拟物体,他们可能会错误的认为是他们自己在移动,而不是大的物体在移动。这会引起不适,通过在用户的虚拟环境中包含更多固定的参考点来避免这个问题。
亮度变化
注意突然的亮度变化。考虑到屏幕与用户眼睛很近,当从一个暗场景转换到一个亮场景时,可能会引起用户的不适,就像从一个黑暗的房间走出到阳光下一样。
交互模式
设置
获得沉浸于VR的体验需要一定的时间,用户可能需要调整头戴式设备或把手机放到Cardboard中。为了避免用户感到匆忙,确保VR体验在用户表明准备好之后再开始。不要让app自动开始或通过定时开始。最好允许用户点击一个初始画面,来表示他们已经准备好开始了。
进入和退出
在 Android 设备上一般约定用户点击一个“头戴式设备icon”来将2D画面转换为VR;
退出VR的标准方法一般为用户点击系统栏中的返回键(如果有2D画面)或home键。
头戴设备适配
Cardboard SDK建议app能精确的适配用户头戴设备的物理参数;使用 Cardboard SDK, 你的app可以自动适配。SDK还包含对特殊 Cardboard 模型的自动立体配置,和对特殊 Cardboard 模型镜头的失真校正。
不能精确的防止立体影像或不能对头戴设备镜头失真校正可能会导致用户不适。考虑到用户有各种各样的设备,建议使用 Cardboard SDK 来减少复杂性。
全屏模式
当app运行在VR模式时,你应该使用Android 全屏模式,并且不使用 Android Light out 模式。使用 Android Light out 会降低有效屏幕面积,并且系统控制栏或状态栏可能会出现在用的视觉周边。
API 调用
Android目前不支持在立体3D的 VR 应用中弹出对话框。因此,app不应该执行任何会呈现2D对话框的API。这会出现以下问题导致方向迷失:
- 对话框显示在一个错误的方向,笨拙的横跨在两个眼睛之间
- 为了点击对话框按钮,用户需要把手机从 Cardboard 中取出,在对话框消失后再插入。
如果你的app需要调用一个可能会出现对话框的API时,请在指导用户把手机放入 Cardboard 前完成。
标志为 VR app
许多用户会通过 Google Play 过滤搜索(Cardboard app,或 VR app)来发现你的app。在app 图标中设置额外的徽章是不必要,同时也会增加视觉复杂度。
表明app是VR应用的最好途径:
- 在应用标题中提到VR。
- 在Google Play 的截图中包含一个立体视觉。
控制
当你的app启动时,把 UI 控件防止在用户当前视野,如果控件不在视野内,用户往往会等待,感觉到困惑,并不得不去寻找控件。
如果你的app允许移动,应该根据用户位置和视野的变化更新UI控件的位置。如果不更新控件的位置,用户将不得不回到原来的位置去寻找它们。
Fuse buttons(熔断按钮?)
像Cardboard这样的设备在设备的某一面一般会有一个按钮用来点击目标。使用这个按钮的一般方法:创建一个虚拟的按钮,当用户聚焦在它上面一定时间后,就可以触发按钮。
这些按钮在VR app中使用的越来越普遍。然而,用户必须要等待按钮变成激活状态,会感觉比较慢而影响体验。所以当创建 Fuse button时,应该提供给用户直接、立即可点击的目标选项。
视觉倒计时
当使用Fuse button时,视觉上呈现按钮激活的倒计时会让用户知道即将要发生什么。如果不显示倒计时,就很容易丢失点击,并且用户可能会不能理解当他在环顾四周时app突然改变状态。
按钮布局
避免把fuse button放置的太靠近,fuse button最好是目标大且相距足够远。
如果多个较小的fuse button又互相靠的较近,则用户可能不小心点击到错误的按钮。相互靠近的小按钮应该需要直接点击它来激活。
反馈
声音
在VR中使用文字提示并不好,有两个原因:小文字很难读;用户经常处于从周围VR环境中获取超量信息的状态。综合考虑,使用短音频总结来为用户提示。
如果没有声音资源,可以考虑使用 text-to-speech 来指导用户。不要仅靠声音来传递提示信息(如果用户不能接收声音),不过应在现有的视觉提示中增加较短的,或欢迎式的语音提示。
同文字指示一样,简洁才是王道。
背景音效
VR往往意味着身临其境。用户一般会佩戴耳机。考虑到使用场景,声音能够让app更真实,并吸引用户注意app各方面的信息。声音可以让用户不用转动他们的头部去环顾四周的同时,能够获取到整个场景的一些信息。
触觉反馈
触觉反馈可以改善用户的触觉体验。当用户触摸一个物体或交互控制时可以从中感受到好的体验。尽管在手机上触觉反馈并不是很真实,但是它至少让体验更有形。
显示十字线
仅靠移动目光,用户比较难去瞄准较小的物体。然而,如果给用户一个与你的十字线(虚拟的工具来跟踪目标)来帮助他们瞄准,他们将会非常容易去瞄准目标。所以当用户在瞄准目标时,显示一个十字线。
如果你担心显示一个十字线会降低沉浸体验或制造一些不必要的虚拟胡乱,那么参考下面两条指导:
- 只有当用户接近一个他们可以激活的目标时才显示十字线。
- 给用户可以瞄准的目标投射光源或者设计一个明显的 hover state。
十字线尺寸
如果要显示一个十字线,那么把它渲染的更立体(让它看起来有深度),这样十字线就像落在目标物体上一样。如果十字线处于目标物体前面几米的位置,用户可能会很难把注意力同时集中在十字线和它后面的物体上。
十字线尺寸可以根据移动的深度来缩放,或者保持一个固定尺寸,这样比较容易看到。