OUR BLOG

19 Mar 2022

系统能力 – 增强现实

增强现实
大连网站推广维护(或 AR)可让您提供身临其境、引人入胜的体验,将虚拟对象与现实世界无缝融合。使用设备的摄像头在屏幕上实时呈现物理世界,您的应用程序叠加了 3D 虚拟对象,营造出这些对象实际存在的错觉。根据您的应用提供的体验,人们可以重新定位设备以从不同角度探索对象,使用手势和移动与对象交互,甚至加入其他人的多用户 AR 体验。有关开发人员指南,请参阅 ARKit。

仅在有能力的设备上提供 AR 功能。如果您的应用的主要用途是 AR,请让您的应用仅可用于支持 ARKit 的设备。如果您的应用包含需要特定 AR 功能的功能,或者如果您的应用中的 AR 功能是可选的,请不要在用户尝试在不支持这些功能的设备上使用这些功能时向他们显示错误;相反,只需避免在不受支持的设备上提供该功能。有关开发人员指南,请参阅验证设备支持和用户权限。

创造引人入胜、舒适的体验
让人们使用整个显示器。将尽可能多的屏幕用于显示物理世界和应用程序的虚拟对象。避免在屏幕上放置会降低沉浸式体验的控件和信息。

在放置逼真的物体时力求令人信服的幻觉。使用逼真的纹理设计详细的 3D 资产,以创建似乎居住在您放置它们的物理环境中的对象。使用来自 ARKit 的信息,您可以正确缩放对象并将它们定位在检测到的真实世界表面上,反映环境照明条件并模拟相机颗粒,在真实世界表面上投射自上而下的漫反射对象阴影,并随着相机位置的变化更新视觉效果.为帮助避免破坏您创建的错觉,请确保您的应用每秒更新场景 60 次,以免对象出现跳跃或闪烁。

考虑具有反射表面的虚拟对象如何显示环境。 ARKit 中的反射是基于相机捕获的环境的近似值。为了帮助保持 AR 体验是真实的错觉,更喜欢淡化这些近似效果的小或粗糙的反射表面。

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

尽量减少环境中的文本。仅显示人们为您的应用体验所需的信息。

如果需要其他信息或控件,请考虑在屏幕空间中显示它们。屏幕空间中的内容似乎固定在虚拟世界中的一致位置,或者不太常见的设备屏幕上。人们通常很容易在屏幕空间中查找和查看内容,因为当底层 AR 环境随设备移动时,内容保持静止。

当您需要提供持久控件时,请考虑使用间接控件。间接控件不是虚拟环境的一部分,而是显示在屏幕空间中的 2D 控件。如果人们需要访问您的应用程序中的持久控件,请考虑放置控件,这样人们就不必调整他们握住设备的方式来接触它们。此外,考虑在间接控制中使用半透明来帮助避免遮挡底层场景。例如,测量应用程序使用屏幕空间来显示人们用来测量现实世界中对象的半透明和不透明控件的混合。

Measure 应用程序的屏幕截图显示了多叶植物和从叶子底部延伸到叶尖的线段。尺寸为四英寸半。
预计人们将在各种各样的现实环境中使用您的应用程序。人们可能会在没有太多移动空间或没有任何大而平坦的表面的地方打开您的应用程序。向人们清楚地传达您的应用程序的要求和期望,以帮助他们了解他们的物理环境如何影响他们的 AR 体验。您还可以考虑提供不同的功能集以在不同的环境中使用。

注意人们的舒适度。长时间以一定的距离或角度握住设备可能会让人感到疲劳。为避免造成疲劳,请考虑将物体放置在一定距离,从而减少将设备移近物体的需要;在游戏中,考虑保持较短的关卡并混合短暂的停机时间。

如果您的应用程序鼓励人们移动,请逐渐引入动作。例如,您可能不想让人们一进入您的 AR 游戏就躲避虚拟弹丸。让人们有时间适应您应用中的 AR 体验和逐步鼓励运动。

时刻关注人们的安全。当人们沉浸在 AR 体验中时,他们不一定会意识到他们的物理环境,因此做出快速、全面或广泛的动作可能是危险的。考虑使您的应用程序安全运行的方法;例如,游戏可以避免鼓励大动作或突然动作。

使用指导让人们开始
在人们可以在您的应用中享受 AR 体验之前,他们需要以让 ARKit 评估周围环境和检测表面的方式移动设备。在 iOS 13 及更高版本中,您可以使用内置的指导视图向人们展示该做什么并在初始化过程中提供反馈。您还可以使用指导视图帮助人们在 AR 体验被(例如,人们短暂切换到不同的应用程序)中断后重新初始化 AR(称为重新定位的过程)。有关重新定位的指导,请参阅处理中断;有关开发人员指南,请参阅 ARCoachingOverlayView。

iPhone 屏幕显示通过摄像头看到的房间一角。屏幕上有一个包含表面检测指示器的半透明覆盖层。指示器是一个带有圆角的白色正方形,投影到 3D 空间中。显示了一个小型 iPhone 沿着正方形的底部来回扫描。 iPhone 后面的一圈圆点用于强调运动。

在人们使用指导视图时隐藏不必要的应用程序 UI。默认情况下,指导视图会在初始化或重新定位开始时自动出现,因此您应该准备隐藏不相关的 UI 以帮助人们专注于指导视图的说明。

如有必要,提供定制的辅导体验。尽管您可以配置系统提供的指导视图以帮助人们提供特定信息(例如检测水平或垂直平面),但您可能需要其他信息或想要使用不同的视觉样式。如果您想设计自定义辅导体验,请使用系统提供的辅导视图作为参考。

帮助人们放置物品
向人们展示何时定位表面并放置对象。您可以使用系统提供的指导视图来帮助人们找到放置对象的水平或垂直平面。 ARKit 检测到表面后,您的应用可以显示自定义视觉指示器,以显示何时可以放置对象。通过将指示器与检测到的表面的平面对齐,您可以帮助人们了解放置的对象在环境中的外观。

一个复杂的标线图,由一个圆形组成,带有指示中心和直径的标记,在直角形状的内部框住一个正方形。标线以 3D 透视图显示,底部最长边。

应用特定指标

当人们放置一个对象时,立即将该对象集成到 AR 环境中。尽管表面检测可以快速且逐步地提高准确性,但最好避免在放置对象之前等待更准确的数据。当人们放置物体时,使用可用信息立即做出响应;然后,当表面检测完成时,如有必要,巧妙地细化对象的位置。例如,如果人们将物体放置在检测到的表面范围之外,请轻轻地将物体推回到表面上。有关优化对象位置的开发人员指南,请参阅 ARTrackedRaycast。

考虑引导人们走向屏幕外的虚拟对象。有时,人们可能很难找到位于屏幕外的对象。在这种情况下,您可以通过提供视觉或听觉提示来帮助人们找到此类物体。例如,如果一个对象在屏幕左侧,您可以在屏幕的左边缘显示一个指示器,引导人们将相机指向该方向。

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

结合平面分类信息以告知对象放置。例如,只允许人们将虚拟家具放置在归类为“地板”的平面上,或者要求将平面归类为“桌子”才能放置虚拟游戏板。

设计直观、令人愉悦的对象交互
尽可能让人们使用直接操作与对象进行交互。当人们可以通过直接触摸屏幕上的 3D 对象与使用屏幕空间中的间接控件进行交互时,它会更加身临其境和直观。但是,在人们在使用您的应用程序时四处走动的情况下,间接控制可以更好地工作。

显示一个立方体和一只手用食指接触立方体的图表。有一条曲线与手指和立方体相交,表示手指的运动。

直接操纵

显示立方体的图表。立方体下方是两个按钮,每个按钮都有一个指向对面的圆形箭头

admin