前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >苹果 AR 的人机界面设计规范

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

原创
作者头像
serena
修改2021-08-03 14:56:09
1.6K0
修改2021-08-03 14:56:09
举报
文章被收录于专栏:社区的朋友们

作者: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/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 设计有参与感的体验
  • 进入增强现实
  • 放置虚拟物体
  • 与虚拟物体互动
  • 问题处理
  • 更多
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档