苹果 AR 的人机界面设计规范

作者:michitang

前言

现在应用可以使用苹果的AR技术——ARKit,将有真实感的虚拟物体与现实世界无缝衔接,给用户带来身临其境、有参与感的体验。在AR app里,将3D的虚拟物体叠加到通过摄像头实时拍摄的真实环境中,制造出虚拟物体真实存在的错觉。用户可以通过改变设备的位置,从不同角度来探索虚拟物体,如果设计得当,也可以通过手势或者动作来与虚拟物体互动。

设计有参与感的体验

使用全屏让用户参与其中:尽可能使用更多的屏幕空间来呈现物理世界和app里的虚拟物体。避免过于杂乱的操作和信息出现在界面里,影响临场感。

构建仿真物体时要有说服力:不是所有的AR体验都需要仿真物体。但如果需要用到仿真物体,就需要把在这个物体在真实世界里的相关元素也设计进去。为了获得最佳表现,需要为3D物体设计逼真的材质,使用ARKit提供的信息把物体放到现实世界的平面上,并且缩放到适当的比例。同时,需要在虚拟物体上投射环境光,在现实空间里投射出物体的阴影。当相机的位置发生变化的时候,需要实时刷新视效。

将物理限制考虑在内:一定要记住,用户可能会在非AR最佳体验的环境里使用你们的app。例如,他们可能在一个没有多大的移动空间,或者没有足够大的平整的平面的地方打开你们的app。要提前考虑那些会出现问题的场景,清晰地向用户传达要求或预期。可以考虑在不同环境下,给用户提供不同的功能。

要考虑用户的舒适度:人处在某个距离、保持某个角度长时间持握设备,会产生疲劳。要考虑用户持握设备使用app时,仍能获得愉快的体验。比如,你可以默认设置成,把物体放在一个不需要用户靠近的距离。做游戏的时候可以把每个关卡设计得短一些,多加入一些短时间的休息。

如果你的app鼓励用户做出一些动作,需要渐进的引导:例如,在一个游戏刚开始的时候,不能让用户大步移动来躲避虚拟的投射物。需要给他们一些时间来适应这种体验,然后逐步引导他们。 要考虑用户的安全:当用户所处的环境里有很多人或物体的时候,太频繁地让用户移动,会带来潜在的危险。要考虑用户可以安全地使用app。例如,游戏设计时需要避免大幅度的动作,或要求用户突然地做出动作。

使用音频或触感来提升临场感:在虚拟物体和物理表面或其他虚拟物体发生了接触时,使用音效或者震动可以提供很好的反馈。在一个身临其境的游戏中,使用背景音乐也可以很好的把用户带入到虚拟的世界里。相关指南可以看音频触觉反馈部分。

尽可能在上下文中提供线索:例如,在可以旋转的物体周围放一个3D旋转示意的箭头,这要比单纯的文字提示更直观。但在表面检测完成之前,或是用户对上下文提示没有进一步操作时,文字提示还是有必要的。

如果一定要使用文字说明,请使用容易理解的文案:AR是一个前卫的概念,容易让一些用户退缩。为了让用户更容易接受,要避免使用太过技术性的、面向开发的词汇,例如ARKit、现实检测、追踪。而要用大部分用户可以理解的友善的、对话型的词汇。

例如,可以使用:

“无法找到表面。可以尝试走到一边,或挪动一下手机的位置。” “点击要放置xx物体的位置” “试一试打开灯光,或是来回走动一下。” “试一下慢一点移动你的手机”

不要使用:

“无法找到平面,调整跟踪。” “点击平面来定位物体” “功能缺陷” “检测到运动过频”

避免打断AR体验的不必要的操作:每一次用户退出或重新进入AR的时候,都会重新检测环境和表面,此时手机和摄像头的位置很可能发生过改变,会导致之前放置的物体会被移位,甚至可能不再出现在平面上了。为了避免这种问题,要让用户可以在不退出AR的情况下,也能调节物体、设置。例如,用户把想购买的椅子放进房间时,他们可能会想试一试其他面料的选项,可以把选项的调整设计在AR环节中。

进入增强现实

在初始化的时候需要告知用户:每次你的app进入AR时,都会进行初始化,此时会对环境进行评估,大概需要几秒的时间。为了减少用户的困惑,加快初始化进程,可以向用户展示初始化正在进行的事项,鼓励用户探索他们周围的环境,或是去寻找实物表面。

放置虚拟物体

提示用户定位表面,以及放置物体的时机:当进入了“表面定位模式”,可以用视觉标识来传达。例如,在屏幕中间放一个梯形框,可以帮助用户了解到此时他们需要找一个水平面。当表面已经选中时,要变换一下提示的图标,来告诉用户“现在可以放置物体”了。设计视觉标识也是app设计的一部分。

用户放置物体时,要予以恰当的反馈:在表面检测时(时间非常短),精度会逐步提高。如果此时用户点击屏幕来放置物体,要尽可能使用已获得的信息尽快放置物体。一旦表面检测完成,再巧妙地优化物体的位置。如果一个物体放置的位置超出了检测到的表面,就需要将物体轻轻地推回表面上。

避免将物体对齐到检测出的表面边缘:在AR中,表面的边缘是近似的,进一步分析用户环境之后,可能会发生改变。

与虚拟物体互动

直接控制物体,比操作多个按钮要好:通过点屏幕上的物体直接发生互动,会带来更强的临场感,要比在屏幕的不同区域,操作多个独立的按钮要好。不过要记住的是,当用户在移动的时候,直接控制物体会变得难以操作。

通过标准、用户熟悉的手势让用户与虚拟物体直接互动:例如,可以考虑使用单指拖拽物体,使用两指旋转物体。更多相关的规范可以参考“手势”。

一言以概之,交互要简单:轻触手势本质上是二维的,但在AR体验中涉及到三维的真实世界。可以参考以下几点来简化用户和虚拟物体互动的交互。

当操作手势接近可交互的虚拟物体时,要予以反馈:对用户来说,要精确的点击一些比较小、薄、放在较远距离的物体上的某一点是很难的。当你的app检测到,在接近交互区域有手势操作时,就可以假设用户想要完成这个互动。

要考虑是否有必要让用户缩放物体:通常来说,没有固定尺寸的玩具或者是游戏角色,用户可能希望可以看到它放大或是缩小的状态,提供缩放功能也显得比较合理。而对于一个在现实世界有相对尺寸的物体,比如说固定尺寸的家具,缩放功能就没有必要了。缩放不是一个调节物体距离的补救措施,把物体放大并不一定能让它看起来离用户更近,可能只会让用户感觉这是一个离自己较远的较大的物体。

要小心手势冲突:例如,两指的捏的手势,可能和用两指旋转的手势很接近。如果要设计这样类似的手势操作,一定要提前测试,确保操作起来不会有冲突。

确保虚拟物体的变化要顺滑:物体缩放、旋转、移动到某一点的过程,不能是跳跃式的,需要平滑地过渡。

探索更有临场感的交互方式:在AR中,手势不是唯一能和虚拟物体产生互动的方式。你的app也可以考虑运用其他细节来让内容变得更生动。例如,一个游戏角色可以在他走向用户的时候把头转向用户。

问题处理

允许用户重置:不要强迫用户去等待客观条件具备,或是在放置物体有困难的时候,也要他们先完成放置。给他们一个重新开始的选择,看看是不是可以获得更好的结果。

发生问题时,提示用户可能的解决办法:“环境分析”和“表面识别”有时可能因为一些原因无法完成。比如说光线不够好,平面上的反光太强,平面没有足够的细节,或摄像头移动得太快。如果你的app可以检测到这些问题,或者当表面检测太慢时,可以给到用户解决办法。

问题——建议的解决办法

检测到功能缺陷——试一试打开灯光,或是来回走动一下。 检测到运动过频——试一下慢一点移动你的手机 表面检测时间过长——试一试来回走动一下,打开灯光,确保你的手机对准有纹理的表面。

只为硬件条件具备的设备提供AR功能:如果你的app的核心功能就是AR,让你的app仅支持可以支持ARKit的设备。如果在你的app里,AR功能不是核心功能——比如说“有商品照片的家具目录,支持用户在AR场景里看商品”,就需要避免让一个不支持的设备进入AR模块时卡在报错环节。如果设备不支持ARKit,最好一开始就不对用户展示AR功能入口。

更多

开发指南请参阅ARKit

苹果官方原文地址: https://developer.apple.com/ios/human-interface-guidelines/technologies/augmented-reality/

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张卫国的专栏

【SPA大赛】转化率预估中的用户偏好Emebeding

在Tencent广告算法大赛中,在对用户点击之后的转化情况预估时,笔者主要分享 Emebeding 降维(用户偏好分析)的技巧。

3580
来自专栏月色的自留地

NMF学习练习:做电影推荐

1077
来自专栏大数据挖掘DT机器学习

Python实现基于SVM的股票预测

核心 因为是分类算法,因此不像ARIMA一样预测的是时序。分类就要有东西可分,因此将当日涨记为1,跌记为0,作为分类的依据。使用历史数据作为训练数据。 处理数据...

4345
来自专栏CDA数据分析师

扫盲!SPSS,SAS,Stata,R有何区别,你选哪个?

对于各式各样的数据统计分析软件,你了解多少呢?经过潜心搜集,整理,我总结了一些软件的大体介绍及区别,欢迎大家指正和补充。 这里先略过Excel和Eviews这...

2246
来自专栏互联网数据官iCDO

受众画像数据只是看看?——基于朴素贝叶斯的用户数据挖掘(上、下)

本文长度为2815字,预估阅读时间4分钟。 我们今天要向大家介绍的是基于朴素贝叶斯的用户数据挖掘。 做广告优化这么久了,也看过不少广告后台的受众画像,总体来说,...

2955
来自专栏腾讯技术工程官方号的专栏

模仿黑产破解12306验证码,验证码产品的未来是?

3834
来自专栏量子位

谷歌AI“你画我猜”强推“狗年版本”,腾讯AI要帮你修老照片 | 竹货新春

? 今天大年初一。为了庆贺中国农历狗年的到来,谷歌刚刚在自己的AI“你画我猜”游戏中更新了狗狗版本。 (你画我猜,介系里没有挽过的船新版本。挤需体验三番钟,...

3539
来自专栏AI科技大本营的专栏

移动应用AI化成新战场?详解苹果最新Core ML模型构建基于机器学习的智能应用

Google刚刚息鼓,苹果又燃战火!这一战,来自移动应用的AI化之争。 近日,苹果发布专为移动端优化的Core ML后,移动开发者对此的需求到底有多强烈?去年大...

3417
来自专栏BestSDK

百度上线深度学习工具Visual DL,提供独立的Python SDK

百度PaddlePaddle & ECharts团队宣布上线深度学习可视化工具Visual DL,该工具可以使得深度学习任务变得生动形象,实现可视分析。百度希望...

3519
来自专栏AI科技评论

开发 | TensorFlow 1.0 要来了!它将带来哪些革命性变化?

在发布逾一周年之际,TensorFlow 终于将迎来史上最重大更新:TensorFlow 1.0。 对于不熟悉开源框架的读者,TensorFlow 是谷歌 20...

2726

扫码关注云+社区