Table of Contents

Концепции и рабочий процесс MegaTracker

В этом документе представлены основные концепции MegaTracker, а также связь между MegaTracker, нативной AR-системой WeChat VisionKit и фреймворком рендеринга xr-frame.

Перед началом

Ознакомьтесь со следующими разделами в Обзор Mega:

  • Основные принципы локализации и отслеживания Mega.
  • Что такое Mega Block.
  • Ожидаемый результат после интеграции Mega.

Что такое Plane AR Tracker

Plane AR Tracker в xr-frame по сути является оболочкой над возможностью плоскости VisionKit 6DoF.

После включения isARCamera в компоненте камеры xr-frame трехмерное преобразование камеры синхронизируется с AR-системой (VisionKit) каждый кадр.

xr-frame предоставляет возможности 3D-рендеринга, а VisionKit предоставляет возможности отслеживания движения в системе координат реального пространства.

Plane AR Tracker нельзя использовать совместно с другими AR-трекерами.

Что такое MegaTracker

MegaTracker — это основной алгоритмический компонент, который соединяет AR-систему WeChat (VisionKit) с сервисом пространственных вычислений Mega. Он предоставляет облачную локализацию.

  • Входные данные: поза камеры в системе координат VisionKit, вычисленная VisionKit для каждого кадра (то есть данные 6DoF), а также изображение камеры кадра, используемого для локализации Mega.

  • Выходные данные: поза камеры в текущем локализованном и отслеживаемом Mega Block.

Как MegaTracker работает в xr-frame

flowchart BT
    subgraph Using xr-frame Only
        direction BT
        PlaneARTracker_1[PlaneARTracker] -->|MotionData & Image| XRFrame_1[xr-frame]
    end

    subgraph Using Mega Plugin
        direction BT
        PlaneARTracker_2[PlaneARTracker] -->|MotionData & Image| MegaTracker
        MegaTracker -->|CameraTransform| XRFrame_2[xr-frame]
    end
  • В нативном потоке данных WeChat компонент камеры xr-frame каждый кадр обновляется напрямую на основе результата Plane AR Tracker.
  • В потоке данных, предоставляемом мини-программой Mega, поза камеры в системе координат VisionKit (то есть данные 6DoF) и данные изображения кадра локализации передаются в MegaTracker. После облачной локализации и локальных вычислений выводится поза камеры в текущем локализованном и отслеживаемом Mega Block, а затем обновляется LocalTransform камеры под узлом Mega Block в сцене xr-frame. В этот момент MegaTracker берет управление камерой на себя, и xr-frame больше не обновляет камеру на основе AR-трекера.

Работа MegaTracker глубоко зависит от данных движения 6DoF, предоставляемых плоскостным трекером. Поэтому MegaTracker не может начать работу, пока плоскостной трекер не завершит инициализацию и не установит стабильное состояние отслеживания. Кроме того, стабильность AR-отслеживания ограничена особенностями окружения. В экстремальных сценариях, например на больших областях без текстуры (таких как белые стены) или при длительном перекрытии камеры, если нижележащее плоскостное отслеживание WeChat дрейфует или теряется, MegaTracker также перейдет в состояние сбоя из-за потери надежного источника входных данных.

Следующие шаги