Table of Contents

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

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

Перед началом работы

Ознакомьтесь с введением в Mega, чтобы понять:

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

Что такое трекер плоскости AR

Трекер плоскости AR во фреймворке xr-frame по сути является обёрткой для возможности 6DoF-плоскости VisionKit.

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

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

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

Что такое megatracker

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

  • Входные данные: позиция и ориентация камеры в системе координат VisionKit (т.е. данные 6DoF), вычисляемые VisionKit для каждого кадра, и изображение с камеры в момент кадра, используемого для позиционирования 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 обновляется с каждым кадром напрямую результатами работы трекера плоскости AR.
  • В потоке данных мини-программы Mega позиция и ориентация камеры в системе координат VisionKit (т.е. данные 6DoF) и данные изображения кадра позиционирования передаются на вход MegaTracker. После облачного позиционирования и локальных вычислений на выходе получается позиция и ориентация камеры в текущем отслеживаемом Mega Block. В итоге обновляется LocalTransform камеры в сцене xr-frame относительно узла Mega Block. На этом этапе MegaTracker берёт на себя управление камерой, и xr-frame больше не обновляет камеру на основе AR-трекера.

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

Дальнейшие шаги