从出师未捷的GoogleGlass到全球爆款的PokemonGo,AR在大众视野中来来去去已经不是什么新鲜概念了。一方面AR已经广泛地进入消费级市场,意味着设计师随时可能被迫改变设计的方式与载体,但另一方面参与到这个可能重塑人类生活形态的科技变革中又何尝不是一件超有乐趣的事情呢!
今天格格学姐就为大家分享一篇AR设计指南,希望能够帮助大家对AR设计有进一步的了解,构建更完美的 AR 体验!
01、什么是AR&ARcore
维基百科对于AR的定义:增强现实技术Augmented Reality,一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术。
更直观的解释就是:将现实世界与虚拟内容融合的效果,帮助用户们更快捷直观地获取信息。
AR的目标是在屏幕上将虚拟世界套在现实世界上进行互动。
ARCore 是用于构建增强现实应用的平台,它可以让大量的 Android 手机支持 AR 功能。ARCore 通过手机的摄像头实现:运动追踪、环境理解、光线估计,利用这 3 种关键性的技术将虚拟内容与现实世界连接在一起。
从根本上说,ARCore 做了两件事:在移动时追踪移动设备的位置;建立对现实世界的理解。
那么,我们该如何设计出引人入胜的移动AR体验呢?作者从以下几个方面为我们提供了参考。
02、环境
1、现实世界的环境
AR 的设计意味着为许多不同环境进行设计。
从私人空间到广阔开放的现实环境,考虑人们可以在哪里使用您的应用,预测并传达任何可能会影响用户身体能力和运动的潜在问题。
对于公共场所,要考虑特殊的情况。这可能包括追踪和遮挡等问题,具体取决于虚拟物体和在场人员的数量。还要考虑移动手机和使用 AR 时,可能会引起不安全或者阻碍了与现实世界的互动。
让用户清楚地了解任务所需要的空间大小,从桌面到整个房间,再到世界范围。
2、增强环境
一个被增强的环境由摄像头捕获的真实画面与虚拟内容(如:数字物体或信息)结合组成。
当你的手机在现实世界中移动时,ARCore 会通过一个名为并行测距与映射(或 COM)的过程来理解手机相对于周围世界的位置。ARCore 会检测捕获的摄像头图像中的视觉差异特征(称为特征点),并使用这些点来计算其位置变化。
这些视觉信息将与设备 IMU 的惯性测量结果结合,一起用于估测摄像头随着时间推移而相对于周围世界的姿态(位置和方向)。
通过将渲染 3D 内容的虚拟摄像头的姿态与 ARCore 提供的设备摄像头的姿态对齐,开发者能够从正确的透视角度渲染虚拟内容。渲染的虚拟图像可以叠加到从设备摄像头获取的图像上,让虚拟内容看起来就像现实世界的一部分一样。
ARCore 可以持续不断的改进对现实环境的理解,它可以对水平和有角度的表面上的特征点进行归类和识别,并让这些特征点作为平面供应用程序使用。
03、用户细节
1、用户运动
用户才刚刚开始熟悉 360 度环境,在最初的 AR 体验中,由于 2D 移动交互形成的习惯,用户倾向于保持静止。
如果 AR 体验需要探索,或者用户在沉浸体验时不倾向于移动,这时将需要引导。例如:将虚拟角色略微偏离视野,从而迫使用户移动来进行探索。
2、用户阶段
根据每个用户的环境和舒适度,运动可以分为四个阶段:
- 坐着,双手固定;
- 坐着,双手移动;
- 站着,双手固定;
- 全方位的动作。
对于每个阶段,关键的在于:
- 设计舒适,确保不会让用户处于不舒服的状态或位置。避免大幅度或突然的动作;
- 当需要用户从一个动作转换到另一个动作时,提供明确的方向;
- 让用户了解触发体验所要需的特定动作;
- 对移动范围给予明确的指示,引导对用户的位置、姿态或手势进行必要的调整
04、降低用户挫败感
尽量提前预估并减少用户的挫败感。
预估用户实际空间的限制:室内和室外、实际的物理尺寸、或任何障碍,包括家具、物品或人。虽然仅仅通过应用无法知道用户的实际位置,但尽量提供建议或反馈以减少用户的挫败感。
tips:
◍不要让用户向后退,或进行快速、大范围的身体动作;
◍让用户清楚地了解体验中所需要的空间大小;
◍提醒用户注意周围环境;
◍避免将大物体直接放在用户面前,因为这样会导致他们后退
05、创建和添加虚拟资源
1.平面识别
平面识别包括两个步骤:发现表面和检测表面。
(1)发现平面
为了检测平面,ARCore 可以识别出视觉上不同的特征点,为用户提供有关如何扫描环境的明确指引。
(2)检测表面
提供明确的表面检测反馈。
当用户扫描他们的环境时,为用户提供下一步应做内容的引导提示(例如:放置物体或改变手机的移动)。
通过以下最佳实践来引导后续步骤,建立用户信心并减少挫败感:
◍设计无缝的过渡:当用户快速移动时,系统可能会无法追踪。在发现表面和检测表面之间设计平滑和微妙的过渡;
◍标明检测到哪些表面:在未检测与已检测的表面之间做出区分。考虑通过视觉上的半透明来凸显出已检测的表面;
◍以视觉一致性为目标:为了保持视觉的一致性,每种状态的视觉信息也应具备公有的审美属性;
◍使用渐进式表达:应当及时和准确的传达系统当前的状态变化,通过视觉高亮或文本显示可以更好的表达出表面检测已成功。
(3)多个表面
通过可视化表面来协助用户放置虚拟物体。
高亮显示那些已检测、并准备好放置物体的表面;在不同平面之间构建视觉差异,以避免在后续放置 3D 资源时发生混淆;仅在视觉上高亮显示用户正在浏览或指向的表面,但值得注意的是,不要一次高亮多个表面。
2、最佳放置范围
(1)场景分区
最佳放置范围有助于确保用户将物体放置在舒适的观看距离内,设计便于更深入的理解。
手机屏幕上有限的视场会对用户感知深度、尺度和距离带来挑战,这可能会影响用户的使用体验,以及与物体交互的能力。尤其是,对深度的感知会根据物体的位置而发生变化。
例如:将物体放置的离用户太近,会让人感到惊讶甚至是惊恐。此外,让大物体放置在离使用者过近的位置时,可能会令他们后退,甚至撞到他们周围的物体。
为了帮助用户更好的了解周围环境的深度,可通过将屏幕划分为三个区域来考量舒适的观看范围:下区、上区、中区。
◍下区,离用户太近:如果物体没有遵照期望,而放置的离用户过近,用户很难看到看到完整的视野,从而强迫用户向后退。
◍上区,离用户太远:如果对象被放在上区,用户会很难理解“物体缩小与往远放置物体(近大远小)”之间的关系。
◍中区:这是用户最舒适的观看范围,也是最佳的交互区域。
注意,三个区域的划分是相对于手机的视角。
(2)最大放置距离
引导用户在场景中放置物体,帮助用户避免将物体放置在场景内不舒服的区域中。
物体放置是指将虚拟内容放在真实环境中,可以自动或手动放置物体。选择最适合你的交互方式。
使用最大默认放置距离有助于确保对象放置在舒适的观察距离上,也可以保证用户在连续拖动时,保持物体的真实比例。
(3)目标位置
目标位置是指最终放置物体的位置。
在用户放置物体时通过可视化指示引导用户,阴影可以帮助指明目标位置,并让户更容易了解物体将被放置在已检测表面的什么地方。
3. 放置
(1)自动放置
自动放置是应用控制的,在场景中自动放置物体。一旦检测到表面,虚拟物体就会自动填充场景。
自动放置适用于以下情况:
◍虚拟环境已经增强了整个现实空间,例如一个魔法界面或者 RPG 游戏;
◍非常少或者完全不需要交互;
◍不需要精确的物体位置;
◍AR 模式所需要,在启动时就自动开启。
(2)手动放置
手动放置是用户控制的,指的是用户可以在场景中实际放置和移动物体。这可能包括锚定一个游戏空间、或者设置一个位置来开启 AR 体验。
点按即可放置物体
允许用户通过点击场景中的位置,来拖放预先选择的虚拟物体。
点击行为通常对用户来说是非常自然的,以下情况下效果更佳:
◍在放置之前,虚拟物体不需要进行显著的调整或转换(缩放/旋转)
◍提供快速放置
(3)拖动来放置物体
这是高精度物体放置的理想选择,允许用户将虚拟物体从库中拖动到场景中。
拖动行为最适合:
◍虚拟对象需要进行重大调整或转换;
◍需要高精准度的放置;
◍规模是体验的关键部分。
当用户事先并不了解放置手势时,拖动行为无法很好的工作。