飞机发现
寻找表面
为了查找平面,ARCore 会通过查找属于同一平面的几个点来搜索墙壁、天花板或地板。
向用户展示如何使用手机寻找表面。使用插图或动画来向用户说明如何正确扫描。这有助于用户了解将手机靠近要检测的表面、按顺时针或环形运动方式移动手机,以及搜索不会太暗或太亮的表面。
当用户移动手机时,提供即时反馈,证明他们已成功检测到表面。
垂直表面
垂直表面可能比水平表面更难检测。
垂直表面会反射光线,并且通常涂成同一种颜色,这两种情况都会导致检测失败。
ARCore 能够检测垂直表面。但在某些情况下,可能需要更长时间才能找到它们。
确认表面检测
在用户成功找到 surface 后,告知他们下一步该做什么。
您可以给孩子放置物品,鼓励他们探索空间,或其他方式。
为了鼓励用户、树立他们的信心并减少他们的失望感,请执行以下操作:
设计无缝过渡。当用户移动速度快时,ARCore 可能会失去跟踪效果。设计表面发现和检测之间平滑、细微的过渡。
力求保持视觉一致性。用于说明、表面检测以及体验本身的视觉元素应具有一致的风格。力求让您体验的所有部分达到视觉和谐的效果。
采用渐进式披露。及时且相关地让用户了解系统状态的变化。以视觉方式突出显示或显示文本,以表明已成功检测到表面。
使用 surface 可视化功能帮助用户放置对象
突出显示已检测到且已准备好放置对象的表面。
仅在视觉上突出显示用户正在查看或指向的 Surface。避免一次突出显示多个表面,并使不同平面之间可能会有视觉差异。
清晰地传达错误状态并帮助用户快速恢复
在出现问题时提供反馈,并为用户提供实用的解决方法。执行简单而简短的任务。逐步引导用户更正错误状态。
错误状态可能包括:
- 检测到表面时遇到问题
- 扫描 Surface 时遇到问题
- 如果手机没有移动来启用检测
- 如果用户未正确移动手机以检测表面
最佳展示位置范围
最佳布置范围是指以最舒适的观看距离放置虚拟物体。
展示位置范围
在设计场景中,确保用户能够轻松感知物体的深度和距离。
手机屏幕的视野范围有限,使用户难以感知深度、缩放比例和距离。这可能会影响用户体验以及他们与对象互动的能力。
用户的深度感知通常取决于对象在场景中的位置。例如,将物体放在离用户太近的位置可能会惊恐或担忧。如果将大型物体放在靠近用户的位置,可能会导致他们后退、撞到或被身后的真实物体挡住。
在创建体验时,请考虑深度的重要性。考虑一下用户会以何种方式查看您的内容,以及他们能否访问您的内容。不妨将场景分为 3 个不同的区域:后台、舞台和中心舞台。
后台,距用户最近的位置:如果将某个对象放在非常靠近用户的位置,会迫使用户往后移动,因为这样更难看到完整的对象。如果您希望用户向下看或仔细检查某些内容,这会非常有用。但要注意不要鼓动用户后退!它们可能会被身后的真实物体挡住。
上游,离用户最远的物体:如果对象放在顶层,用户很难看出非常小的物体和离得很远的物体之间的区别。这有助于鼓励用户进行探索和移动,但可能会造成视觉混乱。
中间阶段:这是用户最舒适的观看范围。此处的对象最有利于用户交互。
请注意,这三个阶段的位置以手机视角为参照物。
最大放置距离
当用户在场景中放置对象时引导他们。
帮助他们避免将物体放在不舒适的距离。
您可以为对象设置放置距离上限。这有助于确保用户将物体放在舒适的观看距离上。它还可以保证随着用户不断移动对象,该对象将保持逼真的比例。
设置默认最大距离,且不允许用户将对象放置到该距离以外。
目的地
目的地是对象最终放置的位置。
在用户放置对象时,使用视觉指示来引导用户。阴影有助于指示目的地,可让用户更轻松地了解对象将放置在检测到的表面上的位置。
您可以使用表面可视化效果或对象的阴影来指示目的地点
展示位置
ARCore 可以让您将任何虚拟物体放在现实空间中。对象可以自动或手动放置。
系统推荐的展示位置
应用本身可以填充场景。一旦检测到 Surface,应用可以立即开始放置对象。
在以下情况下,系统推荐的展示位置效果最佳:
- 无需用户输入内容,就能将虚拟环境添加到现实空间中
- 没有互动,或互动极少
- 对象是否出现在正确的位置并不重要
- AR 模式对您的体验至关重要
- 体验启动时开启 AR 模式
填充场景的虚拟对象
手动放置
用户可以手动向场景中添加虚拟对象,并将它们四处移动。
在以下情况下,手动设置展示位置的效果最佳:
- 游戏具有高度互动性,例如拼图
- 对象放置必须精确,例如家具选择应用
点按即可放置对象
用户可以通过点按场景中任意位置的点来放置虚拟对象。用户进行点按操作通常感觉很自然,在以下情况下效果最好:
- 放置虚拟对象前,无需调整其大小或调整其大小
- 并应迅速放置
当场景中出现多个对象时,点按操作不起作用。点按时,多个对象会堆积在一起。
拖动即可放置对象
通过轻触选择虚拟对象后,用户可以将其拖动到场景中。许多用户可能不了解如何拖动。提供清晰的说明,并引导用户逐步完成拖动过程。
请务必在用户拿起物体前,告知用户如何放置物体!如果用户事先未获知放置手势,则拖动效果也会不太理想。
在以下情况下,拖动操作效果最佳:
- 需要调整或转换对象
- 需要精确地将对象放在某个位置
锚定
在 AR 中锚定物体时,会将物体牢牢锁定在特定位置。即使用户四处移动,对象也会保持锚定状态。
锚定与简单地在场景中放置对象不同。您可以放置、移动和玩普通对象。另一方面,在用户移动之前,锚定对象将一直保持锁定状态。
锚点最适合用于固定用户经常返回的对象,例如菜单或基地。此外,锚定包含其他资源的对象(例如游戏图板)也很有用。
锚定物体并不意味着它永远卡在原处!您可以允许用户移动对象,并根据需要重新锚定对象。
建议 - 锚定包含其他资源的对象(例如棋盘)会很有帮助
不推荐 - 无需锚定的静态对象在整个体验过程中会停留在同一位置