(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20

文丨lyh165
发布时间:2018-08-20 (周一 广州/晴)
最后更新时间:2018-08-20 (周一 广州/晴)


文章来自于苹果官方文档
人机界面指南_系统功能(增强现实)


增强现实

ARKit,Apple的增强现实(AR)技术,提供身临其境,引人入胜的体验,将虚拟对象与现实世界无缝融合。在AR应用程序中,设备的相机会显示物理世界的实时屏幕视图。三维虚拟对象叠加在此视图上,从而产生它们实际存在的错觉。用户可以重新定向他们的设备以从不同角度探索对象,并且如果适合于体验,则使用手势和移动与对象交互。

设计引人入胜的体验

使用整个显示器。尽可能多地使用屏幕来查看和探索物理世界和应用程序的虚拟对象。避免使用控制和信息使屏幕混乱,从而减少沉浸式体验。

在放置逼真的物体时创造令人信服的幻想。 并非所有AR体验都需要真实的虚拟对象。那些应该包括看起来居住在它们所处的物理环境中的物体。为获得最佳效果,请使用逼真的纹理设计详细的3D资源。使用ARKit提供的信息来定位检测到的真实世界表面上的对象,正确缩放对象,反映虚拟对象上的环境光照条件,在真实世界表面上投射虚拟对象阴影,以及在摄像机位置变化时更新视觉效果。

预计人们会在不适合AR的环境中使用您的应用。人们可能会在没有足够空间移动或没有大而平坦的表面区域的地方打开您的应用。尝试预测带来挑战的场景,并清楚地向前人沟通需求或期望。考虑提供不同的功能集,以便在不同的环境中使用。

注意用户的舒适度。将设备长时间保持一定距离或角度可能会导致疲劳。考虑人们在使用您的应用程序时必须如何握住他们的设备,并努力获得不会引起不适的愉快体验。例如,默认情况下,您可以将对象放置在一定距离处,从而减少将设备移近对象的需要。游戏可以保持水平短,并与短暂的停机时间混合。

如果您的应用鼓励用户动作,请逐步介绍。在游戏中,用户一旦进入AR就不需要移开以避开虚拟射弹。让他们有时间适应经验。然后,逐步鼓励运动。

注意用户的安全。如果附近有其他人或物体,那么移动太多可能会很危险。考虑使您的应用程序安全运行的方法。游戏可以避免鼓励大的或突然的动作。

使用音频和触觉反馈来增强身临其境的体验。声音效果或碰撞感是确认虚拟对象与物理表面或其他虚拟对象接触的好方法。在沉浸式游戏中,背景音乐可以帮助用户融入虚拟世界。有关相关指导,请参阅音频和触觉反馈。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第1张图片
ARKit_11.jpg

尽可能在上下文中提供提示。例如,在对象周围放置三维旋转指示器比在叠加中呈现基于文本的指令更直观。然而,在表面检测之前,或者如果用户没有响应上下文提示,则可以保证文本覆盖提示。

考虑引导人们走向屏幕外的虚拟对象。有时候很难找到位于屏幕外的物体。如果用户似乎无法找到屏幕外对象,请考虑提供视觉或听觉提示。例如,如果某个对象位于屏幕左侧,则可以在屏幕左边显示一个指示器,以便用户知道将摄像机对准该方向。

如果必须显示说明文本,请使用平易近人的术语。AR是一种先进的概念,可能会让某些用户感到恐惧。为了使其易于使用,请避免参考技术,面向开发人员的术语,如ARKit,世界检测和跟踪。相反,使用大多数人都会理解的友好,对话的术语。

无法找到表面。尝试移到侧面或重新定位手机。 无法找到一架飞机。调整跟踪。
点击一个位置以放置[要放置的对象的名称] 点按平面以锚定对象。
尝试打开更多灯光并四处走动。 功能不足。
尝试慢一点移动手机。 检测到过度运动。

进入增强现实

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第2张图片
ARKit_12.jpg

指示何时正在进行初始化和表面检测并涉及用户。每次您的应用程序进入AR时,都会发生初始化过程,在此过程中您的应用程序会评估周围环境并检测曲面 表面检测时间可以根据许多因素而变化。为了减少可能的混淆,请指明您的应用程序正在尝试检测表面并鼓励人们通过慢慢扫描周围环境来加快进程。

放置虚拟对象

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第3张图片
ARKit_13.jpg

帮助人们了解何时定位表面并放置对象。视觉指示器是表面目标模式处于活动状态的一种很好的沟通方式。例如,屏幕中央的梯形标线可以帮助人们推断它们应该找到水平或垂直的平面。一旦表面被定位,指示器的外观应该改变,以表明现在可以放置对象。如果指示器的方向跟随检测到的表面的对齐,则可以帮助人们预测放置的对象将如何对齐。设计视觉指示器,让您感受到应用体验的一部分。

当用户放置对象时适当地响应。在表面检测期间,精确度(在非常短的时间内)逐渐完善。如果用户点击屏幕放置对象,请使用当前可用的信息立即将其放置。然后,一旦表面检测完成,巧妙地细化对象的位置。如果物体放置在检测到的表面的边界之外,请轻轻地将物体轻推回到表面上。

避免尝试将对象与检测到的曲面的边缘精确对齐。在AR中,表面边界是近似值,可以随着用户周围环境的进一步分析而改变。

用户与虚拟对象的交互

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第4张图片
ARKit_14.jpg

喜欢直接操作单独的屏幕控制。当用户可以触摸屏幕上的对象并直接与其交互时,它更加沉浸和直观,而不是与屏幕的不同部分上的单独控件交互。但请记住,当用户四处走动时,直接操纵有时会令人困惑或困难。

允许人们使用标准的,熟悉的手势直接与虚拟对象进行交互。例如,考虑支持用于移动对象的单指拖动手势,以及用于旋转对象的双指旋转手势。旋转通常应相对于物体所在的表面发生 - 例如,放置在水平表面上的物体通常围绕物体的垂直轴旋转。有关相关指导,请参阅手势。

通常,保持交互简单。触摸手势本质上是二维的,但AR体验涉及现实世界的三个维度。请考虑以下方法来简化用户与虚拟对象的交互。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第5张图片
ARKit_15.jpg

在交互式虚拟对象的合理接近范围内响应手势。用户可能难以精确地触摸小,薄或放置在一定距离的物体上的特定点。当您的应用在交互式对象附近检测到手势时,通常最好假设用户想要影响该对象。

考虑是否需要用户启动的对象缩放。当物体(如玩具或游戏角色)没有固有尺寸且用户希望看到它变大或变小时,缩放通常是合适的。对于具有相对于现实世界的有限尺寸的物体,如一件家具,如果物品放置在准确的尺寸处,则缩放是无关紧要的。缩放不是用于调整对象的距离的补救方法 - 使对象变得更大以使其看起来更近,例如,仅导致更大的对象仍然远离。

警惕可能存在冲突的手势。例如,双指捏合手势与双指旋转手势非常相似。如果您实现两个类似的手势,请务必测试您的应用并确保它们被正确解释。

确保虚拟对象移动顺畅。当用户调整对象大小,旋转对象或将其移动到新位置时,对象不应显示为跳跃。

探索更具吸引力的互动方式。手势不是人们与AR中的虚拟对象交互的唯一方式。您的应用可以使用其他因素,如动作和接近度,将内容变为现实。例如,游戏角色可以在用户走向它时转过头去看用户。

在用户环境中对图像作出反应

您可以通过在用户环境中使用已知图像来触发虚拟内容的外观来增强AR体验。您的应用程序提供了一组2D参考图像,ARKit指示它在何时何地检测到用户环境中的任何图像。例如,一个应用程序可能会识别科幻电影的剧院海报,然后从海报中出现虚拟太空飞船并在环境中飞行。或者,零售商店的应用程序可以通过识别放置在门两侧的海报,使虚拟角色看起来从商店的前门出现。

设计和显示参考图像以优化检测。提供参考图像时,可以指定在用户环境中查找这些图像的物理大小。提供更精确的尺寸测量有助于ARKit更快地检测图像,并提供更准确的实际位置估计。检测性能和精度最适用于具有高对比度和大胆细节的扁平矩形图像。避免尝试检测出现在反射或弯曲的真实世界表面上的图像。

仅将检测到的图像用作显示虚拟内容的参照系。ARKit不会跟踪检测到的图像的位置或方向的变化。因此,如果您尝试精确放置虚拟内容,就像在绘画中的脸上定位胡须一样,内容可能看起来不会留在原位。

限制一次使用的参考图像的数量。当ARKit在用户环境中查找25个或更少的不同图像时,图像检测性能最佳。如果您的用例需要超过25个参考图像,您可以根据上下文更改活动参考图像集。例如,博物馆指南应用程序可以使用核心位置来确定用户当前所在博物馆的哪个部分,然后仅查看该区域中显示的图像。

有关开发人员指导,请参阅识别AR体验中的图像。

处理中断

避免不必要地中断AR体验。当AR未激活时,ARKit无法跟踪设备位置和方向。避免中断的一种方法是让人们调整体验中的对象和设置。例如,如果用户放置椅子,他们正在考虑购买他们的起居室,并且该椅子可用于不同的织物,允许他们在不退出AR的情况下更换织物。

使用重定位从其他中断中恢复。ARKit无法在中断期间跟踪设备位置和方向,例如用户临时切换到另一个应用或接听电话。在中断之后,先前放置的虚拟对象可能出现在错误的现实世界位置。启用重定位后,ARKit会尝试将恢复这些虚拟对象所需的信息恢复到原始的真实位置。该过程要求用户将其设备定位和定向在中断之前的位置附近。有关开发人员指南,请参阅ARSessionObserver。

考虑隐藏先前放置的虚拟对象,直到重定位完成。在重新定位期间,ARKit尝试将其先前的状态与用户环境的新观察结果进行协调。在此过程完成之前,虚拟对象的位置可能不正确。

允许用户取消重定位。如果用户无法将设备定位并定位在中断之前的位置附近,则重定位将无限期地继续,但不会成功。引导用户成功恢复会话,或者提供重置按钮或其他方式,以便用户在重定位不成功的情况下重新启动AR体验。

处理问题

如果用户不符合他们的期望,则允许用户重置体验。不要强迫人们等待条件改善或与对象放置斗争。给他们一个重新开始的方法,看看他们是否有更好的结果。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第6张图片
ARKit_16.jpg

如果出现问题,建议可能的修复。由于各种原因(光线不足,表面过度反射,表面没有足够的细节或摄像机运动太多),用户环境和表面检测的分析可能会失败或耗时太长。如果您的应用被告知这些问题,请提供解决方案的建议。

问题 可能的建议
检测到的功能不足 尝试打开更多灯光并四处走动。
检测到过度运动 尝试慢一点移动手机。
表面检测时间过长 尝试四处移动,打开更多灯光,并确保手机指向足够纹理的表面。

仅在功能强大的设备上提供AR功能。如果您的应用的主要用途是AR,请将您的应用仅用于支持ARKit的设备。如果您的应用程序提供AR作为辅助功能 - 如家具目录,其中包含产品照片并允许在AR中查看某些产品 - 如果用户尝试在不受支持的设备上输入AR,则应避免显示错误。如果设备不支持ARKit,请不要首先提供可选的AR功能。有关开发人员指南,请参阅信息属性列表键参考的UIRequiredDeviceCapabilities部分中的arkit键,以及ARConfiguration的isSupported属性。

AR雕文

应用程序可以在控件中显示AR字形,以启动基于ARKit的体验。您可以在参考资料中下载此字形。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第7张图片
ARKit_17.jpg

按预期使用AR字形。字形应严格用于启动基于ARKit的体验。切勿改变字形(除了调整其大小和颜色外),将其用于其他目的,或将其与未使用ARKit创建的AR体验结合使用。

保持最小的空间。AR字形周围所需的最小空白空间量是字形高度的10%。不要让其他元素侵犯此空间或以任何方式遮挡字形。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第8张图片
ARKit_18.jpg

AR徽章

包含产品集合或其他对象的应用程序可以使用标记来标识可以使用ARKit在AR中查看的特定项目。例如,百货商店应用可能会使用徽章来标记人们可以在购买之前在家中预览的家具。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第9张图片
ARKit_19.jpg

按预期使用AR标记,不要更改它们。您可以在参考资料中下载折叠和展开形式的AR徽章。仅使用这些图像来识别可以使用ARKit在AR中查看的产品或其他对象。切勿更改徽章,更改颜色,将其用于其他目的,或将其与ARKit未创建的AR体验结合使用。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第10张图片
ARKit_20.jpg

AR徽章优于仅字形徽章。通常,在空间受限且不能容纳AR徽章时,请使用仅字形徽章。这两个徽章在默认大小下运行良好。

仅当您的应用包含可在AR中查看的对象和不能在AR中查看的对象的混合时,才使用徽章。如果您的应用中的所有对象都可以在AR中查看,那么徽章就是多余的,也是不必要的。

保持徽章位置一致和清晰。当徽标显示在对象照片的一角时,徽章看起来最佳。始终将它放在同一个角落,并确保它足够大,以便能够清晰地看到(但不要太大,以至于它会遮挡照片中的重要细节)。

保持最小的空间。AR徽章周围所需的最小空间量是徽章高度的10%。其他元素不应侵犯此空间并以任何方式遮挡徽章。

(ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20_第11张图片
ARKit_21.jpg

学到更多

有关开发人员指导,请参阅ARKit。

你可能感兴趣的:((ARKit框架)官方文档_01、人机界面指南_系统功能(增强现实)_2018-08-20)