一个经过扫描的 Ikea 马克杯,先在「桌面与周围环境」中被追踪,然后在「窗口与旋钮」中被追踪,录制于 Apple Vision Pro在YouTube上观看

真实物品能做什么

一旦 Locus 识别出你的物体,它就会随着你移动物体而持续跟随。

真实物品是一项实验性功能。 Locus 只能识别你训练过的那个具体物体,而不是外观相似的其他物体。在我们自己的测试中,一个带图案的马克杯在桌面上被成功找到并跟踪,但当马克杯被倾斜时追踪就丢失了。带有印花或彩绘图案的物体效果最好;纯白、光面或透明的马克杯则很难被识别。

你需要准备什么

1 · 扫描

用 iPhone 扫描物体

  1. 选择你实际会用到的物体。 它必须是坚硬且能保持形状的。带有明显图案或印花会很有帮助。
  2. 把它放在光线均匀、表面简单不反光的地方。 避免强烈反光、直射阳光,以及背景中任何移动的东西。
  3. 打开 Reality Composer,开始一次 Object Capture 扫描,并按照它的引导环绕物体拍摄。 以低、中、高三个高度缓慢地环绕拍摄。如果应用提示翻转物体,也要拍摄底部。
  4. 让应用生成模型,然后检查它的尺寸。 用尺子测量实物的高度和宽度,并与模型进行比较,比如在 Mac 上的 Quick Look 中查看。如果相差超过几毫米,请重新扫描。尺寸不准确的模型追踪效果很差。
  5. 将 USDZ 模型保存到 iCloud Drive, 例如保存在一个名为 Locus 的文件夹中,这样你的 Mac 就能打开它。

扫描不必十分完美。上面视频里的马克杯有明显的凹凸和不平整的杯口,但依然能被追踪。在「窗口与旋钮」中你会看到那个模型,所以更干净的扫描在那里看起来会更好。Reality Composer 也可以导出扫描时拍摄的照片,这样你就能在 Mac 上用它们生成更精细的模型。参见 Apple 关于为 Object Capture 拍摄照片的指南.

2 · 训练

在 Create ML 中训练参考物体

  1. 在你的 Mac 上,打开 Xcode → Open Developer Tool → Create ML。
  2. 使用 Object Tracking 模板创建一个新项目。
  3. 将你的 USDZ 模型添加为来源。 检查 Create ML 显示的尺寸是否与你的物体相符。
  4. 选择观察角度。 如果马克杯会一直立在桌面上,选择 Upright。如果你经常倾斜物体,可以尝试 All Angles;训练时间会更长,而且我们还没有测试过它能否保持对倾斜物体的追踪。
  5. 开始训练,并让 Mac 保持插电且不进入睡眠。 标准训练在 M4 Pro Mac mini 上大约花了 5 个半小时。如果 Create ML 提供扩展模式,追踪效果最好,但耗时会长好几倍,并且需要 Mac 启动磁盘至少有 43 GB 的空闲空间。
  6. 训练完成后,导出 .referenceobject 文件 并保存到同一个 iCloud Drive 文件夹中。
训练完成并不能保证一定能识别成功。 在依赖它之前,先在你实际会使用的地方试一试这个物体。

更喜欢用命令行? 同样的步骤也可以用我们免费的 Mac 工具来脚本化执行——检查模型的真实尺寸、校正它的比例、从你的 iPhone 照片重建更精细的模型,并在无人值守的情况下运行 Create ML 训练,还支持断点续训。详见 GitHub 上的真实物品工具.

3 · 导入

在 Apple Vision Pro 上导入

  1. 在 Locus 中,打开「设置 → 工作区」,在「实验性功能」下启用真实物品。 之后「真实物品」就会出现在设置侧边栏中。
  2. 打开「真实物品」,选择「导入真实物品」。
  3. 选择文件…,然后打开 iCloud Drive 并选择你的 .referenceobject 文件。如果文件还没有下载到 Apple Vision Pro 上,请等待 iCloud 完成下载。
  4. 为它命名,然后选择「添加到真实物品」。 它会立即生效。最多可以同时激活 10 个真实物品。
  5. 确保「显示真实物品」已开启。 第一次使用时,当 visionOS 询问时请允许 World Sensing;Locus 需要它来寻找物体。你也可以稍后在「设置与权限」中开启它。
  6. 进入一个虚拟空间,把物体放在桌面上你能看到的位置。 给 Locus 一点时间去找到它。

要移除一个物体,点按它卡片上的 ⋯ 按钮,然后选择「从 Locus 移除」。Locus 只会删除它自己保存的副本;iCloud Drive 中的文件不会受到影响。

如果 Locus 找不到你的物体

告诉我们对你有效的做法,以及无效的做法,发布在 r/EnterLocus.