Skip to content

如何使用 2D 图像跟踪功能

TIP

本章节将指导开发者通过 SDK 搭建一个 Tracking 2D 的 demo;

  1. 参考“快速使用”章节创建应用之后已经可以使用空间追踪能力

  2. 导入图片跟踪能力 Tracking2DManager

    1. 如果使用 XRMan,在 XRMan 的 Inspector 面板中,勾选 ImageDetection,会在场景中创建 XRMan/Attachments/Tracking2DManager
    2. 如果不使用 XRMan,在 Heirarchy 视图中右键空白处,依次选择:XRAbilities - Tracking2D,将在场景中自动创建 Tracking 2D Manager

  1. 生成图像算法资源,如何为新的图片生成算法资源,也可以参考 Tracking2D Sample 中的图片资源。

  2. 复制到设备存储中,可以参考 Tracking2D Sample 使用 CopyStreamingAssets.cs 复制到沙盒目录中。

  3. 初始化 Tracking 2D Manager,得到上一步操作的资源路径后,初始化 tracking2DManager.startTrackSession(assetsPath);

    • 参考 Tracking2D Sample 中,该过程是在 CopyStreamingAssets.cs 的完成复制的回调中执行的,代码由 Tracking2DDemo.cs 管理
    • 使用 Sample 提供的图像和算法资源,绑定资源的解压复制,绑定资源复制后的初始化

csharp
Tracking2DDemo.cs:

void OnEnable(){
    m_copyStreamingAssets.OnCopyCompleted += OnCopyCompleted;
}

......

void OnCopyCompleted(string assetPath)
{
    if (m_tracking2DManager != null)
    {
        m_tracking2DManager.startTrackSession(assetPath);
    }
}
  • SDK 默认资源位于“Assets/.../Demos/SpatcialComputing/xxxx”。SDK 导入时,会复制到 Assets/StreamingAsstes 目录中。在 Sample 中会被 CopyStreamingAssets 在运行时解压复制到应用数据目录(Application.persistemDataPath, 即/storage/emulated/<userid>/Android/data/<packagename>/files)中, 也是 OnCopyCompleted(string assetPath)的 assetPath 的实际路径。
  1. 编译此场景到设备,运行后即可识别,如果使用 Sample 中的图片资源,可以识别下方图片进行定位观察体验