SuperAPI AI 工具集

xb-anchors

通用与其它

查看项目

更新于 10-15 21:54

技能介绍

用途:xb-anchors 通过 WebXR 空间锚点把内容钉在真实地点,并在以后会话中还原。相比直接存世界坐标(会随会话追踪原点变化而指向别处),锚点由平台重新定位,更可靠。示例见 demos/anchors。

启用:用 new xb.Options() 后调用 options.world.enableAnchors() 仅本会话启用;再加 options.world.enableAnchorPersistence() 可跨会话保存。锚点特性以可选方式请求,不支持它的浏览器仍能进入会话,子系统会报告不支持。

创建与保存:经 xb.core.world.anchors.create(pose, label) 创建,返回 null 而非抛错;随后 persist(tracked.id) 持久化。恢复用 restoreAll(),可多次调用,已恢复项不会重复;not-found 属正常(重定位是概率性的),单项失败不影响批次。每帧用 anchors.getPose(id, referenceSpace) 读取姿态,XRFrame 仅在其回调内有效,晚调返回 null。

配额与清理:persist() 返回 false 时原因在 anchors.lastError。持久锚点数量上限由浏览器按来源(跨站点)共享且很小,测试中会触顶。清理方式:delete(id) 删单个;forgetAll() 清本 store 记录的全部句柄;releaseAllPlatformHandles() 释放本来源持有的全部句柄(跨应用,需用户显式操作,勿自动执行)。不要用 platformHandles() 回读确认释放。空间设置重跑无帮助。

能力与限制:anchors.capability 取值 persistent、session-only、simulated、unsupported。无头显时设 options.world.anchors.simulatorFallback = true,姿态仅本地保存,能力报告为 simulated,只能验证接线,不能证明设备能重定位。持久句柄存于 localStorage(键为 options.world.anchors.storageKey,上限 maxStoredAnchors,最旧先淘汰),也可自定义 AnchorStore。句柄等同位置数据,应本地保存并谨慎处理。

分类:属智能体与模型相关技能内容较少,按 WebXR/前端三维场景能力归入前端与建站。