N5.04.1spatial anchor设计研究

锚定使内容在重新进入时保持位置

别名: 空间锚点 · 重新进入 · world map · 持久位姿

概念解释

昨天把一张便签贴在厨房门框上,今天再戴上头显,便签还应该在那扇门上,而不是出现在开机时鼻子对着的方向。空间锚点(spatial anchor)把内容绑在房间的可再识别结构上,而不是绑在这一次会话的原点。会话原点每次启动都可以换;锚点的工作是让「重新进入」不等于「重新摆放」。

它回答的是同一台设备、下一次走进同一处时位置还在不在,不是多人、多设备、跨天运营那一层。

机制

每次会话的跟踪原点是任意的:头显从哪醒来,哪就是临时的零点。虚拟物如果只记住相对这个零点的坐标,下一次零点一转,物体就跟着转。锚点在放置时同时存一份局部外观签名(特征、网格片段)和相对那份签名的位姿。重新进入时,先在当前画面里找回这份签名,再把物体按记下的位姿挂回去。找回成功,门框上的便签才是同一张;找回失败,系统手里只有一个对不上房间的旧坐标。

所以「保持位置」不是把坐标写进磁盘就结束,是一次「存签名 → 再匹配 → 再挂上」的闭环。没有再匹配,磁盘上的数字只是上一次会话的遗物。

怎么研究

标准做法是退出再进入:在房间里放置若干物体,记下它们相对真实标记(门把手、插座)的距离与朝向,杀掉应用或摘下头显,过一段时间再启动,测量每件物体相对同一标记的平移和偏航误差,以及找回成功的件数。HoloLens 的空间锚点与 ARKit 的 World Map 都按这个闭环验收。

自变量:离开时长、放置时的观察是否充分、重新进入时的起始朝向。 因变量:平移误差、偏航误差、再匹配成功率。

只在同一次会话里把物体藏到背后再转回来,测的是跟踪连续性,不是重新进入。

边界

一次性体验、明确不要求下次还在的内容,不需要锚点;硬做持久化只会在下次启动时弹出一堆过期物体。完全黑暗或特征被布帘盖住的房间,再匹配没有签名可对,重新进入会失败,这不是锚点概念错了,是这一次没有可识别结构。同一会话内的暂停(切出去接电话)通常还在当前原点里,不必当成重新进入。3DoF 设备没有位置,锚点保不住「在门上」这种平移含义。

怎么落地

  • 只有「下次进来还要在那儿」的对象才写成锚点;一次性演示、跟随身体的工具不要持久化。
  • 放置时强迫一次环视或在目标表面停留,让签名够用,不要在瞥一眼之后就承诺能找回。
  • 重新进入先找锚点再显示内容;找不到就不要把物体按旧坐标丢在当前原点附近冒充还在。
  • 验证:贴在门框上,退出应用,从房间另一头再打开。物体仍贴在同一门框上才算通过;出现在开机朝向的正前方,就是绑在了会话原点上。

延伸

  • 同组N5.04.2 环境变化会导致锚点漂移 · N5.04.3 锚点丢失需要可恢复的重定位
  • 相邻N5.09 空间锚定与持久化 · N5.03 平面检测与环境理解
  • 站内检索spatial anchor · world map · re-entry localization

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/N5.04.1