Концепции и рабочий процесс 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 также перейдет в состояние сбоя из-за потери надежного источника входных данных.