ARWorldTrackingConfiguration与ARImageTrackingConfiguration适配QR码追踪选型咨询
ARKit QR码离线追踪配置选型答案
最终选型结论
针对「QR码移出屏幕后仍需持续测量3D相对位置」的需求,优先选择ARWorldTrackingConfiguration,ARImageTrackingConfiguration完全无法适配该场景
两种配置的核心能力差异
ARImageTrackingConfiguration的追踪逻辑完全依赖相机视野内的实时图像特征匹配:一旦参考图像(你的静态QR码)移出相机视野,对应的图像锚点会立刻失效,ARKit不会再保留该锚点的3D位置关联,也无法持续计算它和相机的相对位置。该配置仅适合参考图像始终在视野内的低性能开销场景。ARWorldTrackingConfiguration会持续构建、维护当前环境的3D世界地图:只要首次检测到QR码并生成对应锚点后,哪怕QR码后续移出相机视野,只要ARKit没有丢失世界追踪(环境特征足够、未出现追踪状态异常),该锚点的3D位置会一直保留在当前世界坐标系中,你可以随时计算它和当前相机的实时3D相对位置,完全匹配你的需求。
适配场景的实现建议
你的参考图像为静态固定状态,可按以下流程实现:
- 初始化
ARWorldTrackingConfiguration,将你的QR码添加到配置的detectionImages集合中 - 当ARKit首次检测到QR码并回调
ARImageAnchor时,主动调用session.add(anchor:)方法将该锚点显式添加到会话中,避免自动回收 - 后续每次ARSession帧更新时,通过当前
frame.camera.transform和锚点的transform做矩阵运算,即可实时获取两者的3D相对位置、距离数据。
内容的提问来源于stack exchange,提问作者Yatharth Chhabra
相关产品推荐
相关产品推荐

