提交需求
赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!
谷歌 Cardboard 虚拟现实设计规范翻译
在虚拟现实中实现良好的用户体验,与在传统的 2D 形式中有很大差异。Google Cardboard 设计团队曾设计了一些早期虚拟现实应用和原型,这份规范中最实践性的内容,就来源于对它们的评估。因人类感知所拥有的共性,这份规范将帮助你在任何平台上设计虚拟现实应用。
随着设计团队在这片领域中的不断探索,这份规范将会成为一份关于虚拟现实设计的综合性资源。这将是一个令交互、视觉和动态影像设计师都倍感兴奋的新纪元。
虚拟现实在设计中引入了新的生理学方面的考量。与飞行员训练时所使用的飞行模拟器类似,虚拟现实设备有可能造成虚拟动作与真实物理动作之间的差异。这种差异会引发被称作“幻境眩晕”的恶心症状,当你的双眼认为你在运动时,你的身体却不这样认为。
理解虚拟现实的生理影响,并且遵循这些规范,可以确保你 app 的成功并且避免给用户带来眩晕感。
用户或许对虚拟现实这种新媒介中的交互并不熟悉。由于虚拟画布是无限的,因此相比 2D 的应用,引导用户的焦点和注意力将是设计中一种新的挑战。这份规范将告诉你一些成功的交互模式,以及如何避免常见设计的错误,这些错误可能让用户对虚拟现实界面产生困惑。
幻境眩晕是由于一个人所感受到的东西与所期望感受到的东西,这二者之间有过大的差异所造成。如果不看着车外的风景,很多汽车乘客会晕车,然而司机却很少会晕车,因为他们可以在运动发生之前就预感到运动。
进化告诉了我们为什么会发生这种差异。吃有毒食物引起的“恶心”保护着我们的祖先。这种“恶心”的反应会在有毒食物引起死亡之前,让我们的祖先丢弃食物,来保护他们不会中毒。当你的身体接受到不同于视觉系统所见内容的的平衡感(迷路系统)时,这种差异也将引起恶心。感受到运动眩晕的能力进化成了一种生存技能。
在现代,运动眩晕更多地变成一种麻烦而不是好处。App 开发者和设计师有责任遵循以下规范,来使用户减少体验到幻境眩晕。
不管你的头怎样运动,头部追踪都可以保证虚拟空间中的物体固定在相应位置上,形成一种虚拟世界环绕着你的感觉。
虚拟现实设计中最重要的规范就是一直开启头部追踪。在应用中不可以停止对用户头部的追踪。即使是一小会儿的暂停,都会引起某些用户的不适。
a. 在 3D 空间中渲染 2D 启动画面
相对于用户头部的方向固定住启动画面或者其它图案,并且关闭头部追踪,很有可能引起不适。
当展示一个带有 logo 或者 字幕的启动画面时,请在 3D 空间中渲染 2D 的元素,并且开启头部追踪。仅仅追踪用户头部的旋转这单一方面,就可以避免大多用户的恶心症状,然而同时追踪旋转、缩放、倾斜这三个方面效果会更好。
b. 避免头部追踪中轻微的暂停
测试你的 App 时,要注意头部追踪意外暂停的状况。这种情况有可能发生在加载新场景或者在设备进行大量计算时。如果你的 App 总在某个特定的时候暂停头部追踪,请在头部追踪暂停之前让屏幕淡出变黑。
c. 头部追踪无法开启时,应该怎么办?
在屏幕淡出变黑时保持声音反馈,可以提示用户 App 仍在运行以及正在加载新信息。
让整个屏幕充满变化的颜色或者变化的亮度,可以避免关闭头部追踪造成的困惑。因为屏幕作为整体在发生变化,没有了具体的参照物。
让用户不是作为“乘客”,而是作为活动着的“司机“,这一点非常地重要。用户需要保持在 App 里对自己动作的控制,因而他们才能主动地预料到自己将会看到的东西。
这条规范也有一些例外。过山车模拟器或者其它让用户体验到固定在座位上的运动,很容易引起某些用户的不适(包括剧烈的震动)。重要的是还应该让用户保持一定的控制。比如让他们自己开动过山车,要好过让过山车自行启动。
在真实生活中,我们能感受到加速减速,但是却感受不到匀速运动。例如当坐飞机时,我们能感受到起飞和降落。但是当飞机保持 500mph 的恒定速率平稳飞行时,我们却感受不到(假设不存在气流颠簸)。同样地,你感受不到坐车时匀速的前进,而只能感受到车速率的变化。
当用户在你的应用里虚拟地看到加速或者减速时,他们的身体感受不到现实生活中的那种加减速。他们看到的东西与他们所感受到的东西之间将产生差异,这就会引起不适。你可以尝试让用户在你的 App 里移动时保持匀速运动,来减少这种不适。
如果用户在使用虚拟现实设备时是坐着的,把用户放在固定的虚拟环境(例如一把虚拟的椅子上)将会帮助他们调和好虚拟现实中的运动与现实中的静止。你可以把用户放置在虚拟的驾驶室、椅子或者其它固定的物体上,来解释为什么他们是坐着的——然而虚拟现实呈现给他们的是运动的场景。
如果用户靠近一个运动着的虚拟物体,他们会误认为自己在运动,而不是物体在运动。这也有可能引起不适。通过在用户的虚拟环境中加进更多的固定参考物可以避免这种不适。
要注意亮度的突然变化。当屏幕非常靠近用户的眼睛时,让他们从一个黑暗的场景过渡到明亮的场景,有可能引起他们在适应亮度时的不适。这就类似你从一个黑暗的房间中突然走到阳光下。
进入虚拟现实体验可能需要花费些时间。用户也许需要调整头盔或者把手机放到一个 Cardboard 样式的容器里。
为了不让用户感到仓促,需要保证虚拟体验只在用户准备就绪后才开始。不要让你的 App 自动运行或者基于一个定时器来运行。请允许用户在最初的画面上进行点击,因为这表示他们已经准备好了。
Android 上从 2D 应用切换到虚拟现实的规定,是让用户点击一下头盔 icon。
标准的退出虚拟现实的方法,是让用户点击一下系统栏的后退按钮(如果应用有 2D 界面),或者让用户点击一下 home 按键。
推荐使用 Cardboard SDK 准确地将你的 App 与特定头盔相适配。通过 Cardboard SDK,你的 App 可以自动地适配。SDK 包含了对特定 Cardboard 型号的立体声配置,与特定镜片畸变的矫正。
不能准确地呈现立体影像或者矫正特定头盔的镜片畸变,可能会让用户感到不适。为了让用户可以使用各式头盔,推荐用 Cardboard SDK 来避免复杂的开发。
当你的 App 在虚拟现实模式中时,你应该使用 Android 的全屏模式(Full Screen mode),而不是亮灭模式(Lights Out mode)。使用亮灭模式会减小你屏幕的有效空间,系统控制栏和状态栏都会出现在用户的外围视野里。
Android 现在还不支持在 3D 的 VR 应用里渲染弹窗。
因此,应用不应该暴露任何会给用户呈现 2D 弹窗的 API。因为它会造成如下的问题:
它会在错误的方向显示弹窗,尴尬地横跨用户的两眼。
为了点击弹窗的按钮,用户需要手动从 Cardboard 里拿出手机,然后在弹窗消失后再把手机插回去。
如果你的应用确实需要调用弹窗的接口,请在用户把手机放进 Cardboard 之前完成。
很多用户会通过 Google Play 的搜索过滤器,官方的Cardboard App,或者 VR 应用综述来发现你的应用。没有必要在你的 App icon 上加一个徽章,它会增加视觉的杂乱度。
表明 VR 应用的最好的方式包括:
在应用的标题里提到 VR
在 Google Play 的截图里,显示全景视图,这是一种让用户下载 VR 应用的强烈暗示。
当你的 App 启动时,请把 UI 控制元素呈现在用户当前的视野里。如果控制元素放在了视野之外,比如正北方,用户会一直在等待,感到迷惑,并且必须四处张望来寻找控制元素。
如果你的应用内允许用户走动,请根据用户的位置变化和视野变化来更新 UI 控制元素的位置。不更新位置的话,用户需要走回原来的位置才能再找到它们。
像 Cardboard 这样的设备在侧边有一个按钮,用来点击目标。另一个替代性的方案,是使用导火线按钮的形式来做一个虚拟的按钮,它会触发一个像导火线一样的定时器,当用户把焦点聚于其上一定时间之后,才会被触发。
这种按钮在 VR 应用里越来越常见,但是他们让人感觉缓慢和沮丧,因为用户需要花时间等待按钮被激活。当使用导火线按钮(Fuse Button)的时候,应该给予用户立即直接点击目标的可能。
a. 可视的倒数
当使用导火线按钮的时候,应该让倒数到激活状态的过程可视化,用户才知道发生了什么。不显示倒数很容易发生错误点击,用户会不理解为什么当他们仅仅是在四处张望的时候,App 就突然改变了状态。
b. 按钮放置
请避免把导火线按钮相邻放置。导火线按钮起到最好的效果,需要尺寸大且彼此分散。
如果很多小的导火线按钮被相邻放置,用户很可能误点错误的按钮。小的按钮如果彼此相邻应该通过直接点击来激活。
文字引导因为以下几个原因,在虚拟现实中效果并不好。小的文字非常难读。用户经常被围绕他们的虚拟环境搞得信息过载。所以请考虑加入短的音频来代替文字引导。
如果你没有配音资源,请考虑用文本朗读来向用户介绍应用。不要仅仅依靠声音来向用户传达引导信息(防止用户无法使用),而是在已有的视觉引导上添加短的、友好的声音提示。
和文字引导一样,简短非常重要。
a. 背景声音
虚拟现实应用意味着沉浸。用户通常戴着耳机。请考虑使用环境音来让你的应用更加真实,并且吸引用户的注意力到 App 的不同区域。声音同时提供了一种向用户交待整个场景的方法,而不用他们转动头部四处张望去了解周围的环境。
b. 触觉反馈
触觉反馈——通过触觉传递的信息——可以提升用户在虚拟现实中的触觉体验。触觉反馈可以让触碰物体,或者和控制元素进行交互,这些类似的事件得到优化。即使触觉反馈在手机头盔上并不非常真实,但是它让体验变得更加可触摸。
用户可以通过移动他们的目光来比较精准地瞄准小的物体。然而如果给用户提供一个可见的光标(追踪目标的视觉工具)会让用户更好地瞄准细小的目标。请在用户瞄准细小目标时,显示光标。
如果你认为显示光标会减少沉浸感或者造成不必要的视觉混乱,可以遵循以下规范:
只有当用户接近他们可以激活的目标时,才显示光标
为用户可以瞄准的物体,投射一个光源或者设计一个显著的悬停状态。
如果你要显示光标,请在立体空间里进行渲染(创造出深度感),因而它可以空间性地投射到目标物体上。如果光标只在目标物体几米外的距离上悬停,用户将很难将焦点移到光标或者其后的物体上。
光标的大小相应地应该随着深度的变化而缩放,或者保持固定的尺寸,以便它可以每次都方便地被看到。
(End)
大牛,别默默的看了,快登录帮我点评一下吧!:)
登录 立即注册