category
AI summary
tags
password
summary
date
icon
status
字数统计
type
slug
orgsrc
URL
visionOS 2.0 中 ARKit 新增了物体追踪能力(Object Tracking),允许用户通过对真实物体进行扫描建模后,在 Vision Pro 中实时追踪该物体的位置:
要实现物体追踪效果,「仅」需以下几个步骤:
- 通过 iPhone/iPad 等设备扫描创建真实物体的 3D 模型
- 使用机器学习工具(Create ML)训练 3D 模型
- 通过 ObjectTrackingProvider,开发者可以获取物体的锚点更新,从而实时更新物体的位置和姿态
3D 扫描建模(Object Capture)
为了获取真实物体的 3D 模型,可以使用 iPhone 或 iPad 的 Reality Composer 应用,并通过 Object Capture 功能进行 3D 捕捉:
如果是带有 LiDAR 传感器的iPhone 或 iPad, 按照应用指引,只需要 3-5 分钟就可以完成一个物体的扫描建模(导出 USDZ 文件)。
在 WWDC24 中, 苹果还推出了更加便捷的区域扫描功能,也就是无需严格针对物体进行 360° 扫描,而只需对目标区域范围进行快速扫描,即可捕捉物体 3D 模型。当然由于捕捉到的是区域模型,还需要经过进一步编辑裁剪,才可以获得完整的物体 3D 模型。
机器学习训练 3D 模型
获取物体的 3D 模型后,需要将 USDZ 文件添加到 Create ML 进行训练,这一过程完全在可视化界面中完成,唯一的不足是,整个训练过程可能会持续 10 多个小时!(电脑配置:M2 Pro 16G)。
Create ML 导出的参考对象,即可用于 Vision Pro 进行真实物体的实时追踪。
ARKit 实现 Object Tracking
使用 ARKit 新增特性:ObjectTrackingProvider 即可实现对参考物体的实时追踪。请求用户授权和使用流程和 ARKit 的手势追踪(HandTrackingProvider)一致,具体可以参考前面的文章:
不足之处
从下面的效果演示中不难发现,通过 Vision Pro 可以实现同时对多个物体的精确定位和实时追踪,而缺点则在于存在明显的时间延迟。根据开发者文档,目前 ARKit 对物体追踪的采样频率限制在 30Hz 以内。由于这一限制,目前 Vision Pro 的物体追踪功能更适合与静态物体进行交互。
未来应用场景
虽然 ARKit 在用户权限和性能上还存在诸多限制,我们也能看到 visionOS 2 正在逐步尝试开放更多可能性,物体追踪功能可能在未来教育、购物等场景给用户带来更多虚实交互的体验,对此你有什么期待呢?