Table of Contents

MegaTracker의 개념과 워크플로

이 문서는 MegaTracker의 기본 개념과 MegaTracker, WeChat 네이티브 AR 시스템 VisionKit, 렌더링 프레임워크 xr-frame 간의 관계를 소개합니다.

시작하기 전에

Mega 개요를 통해 다음을 이해하십시오.

  • Mega 로컬라이제이션과 트래킹의 기본 원리.
  • Mega Block이 무엇인지.
  • Mega 통합 후 기대되는 결과.

Plane AR Tracker란 무엇인가

xr-frame의 Plane AR Tracker는 본질적으로 VisionKit 6DoF plane 기능의 래퍼입니다.

xr-frame의 카메라 컴포넌트에서 isARCamera를 활성화하면 카메라의 3D 변환이 AR 시스템(VisionKit)과 매 프레임 동기화됩니다.

xr-frame은 3D 렌더링 기능을 제공하고, VisionKit은 현실 공간 좌표계에서 motion tracking 기능을 제공합니다.

Plane AR Tracker는 다른 AR tracker와 함께 사용할 수 없습니다.

MegaTracker란 무엇인가

MegaTracker는 WeChat AR 시스템(VisionKit)과 Mega 공간 컴퓨팅 서비스를 연결하는 핵심 알고리즘 컴포넌트이며, 클라우드 로컬라이제이션 기능을 제공합니다.

  • 입력: VisionKit이 각 프레임에서 계산한 VisionKit 좌표계의 카메라 pose(즉 6DoF 데이터) 및 Mega 로컬라이제이션을 수행하는 프레임의 카메라 이미지.

  • 출력: 현재 로컬라이즈되고 트래킹되는 Mega Block 아래의 카메라 pose.

xr-frame에서 MegaTracker가 작동하는 방식

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 좌표계의 카메라 pose(즉 6DoF 데이터)와 로컬라이제이션 프레임의 이미지 데이터가 MegaTracker에 입력됩니다. 클라우드 로컬라이제이션과 로컬 계산 후 현재 로컬라이즈되고 트래킹되는 Mega Block 아래의 카메라 pose를 출력하고, 최종적으로 xr-frame scene에서 Mega Block 노드 아래 카메라의 LocalTransform을 업데이트합니다. 이때 MegaTracker가 카메라 제어권을 인수하며 xr-frame은 AR tracker에 따라 카메라를 더 이상 업데이트하지 않습니다.

MegaTracker의 실행은 plane tracker가 제공하는 6DoF motion 데이터에 깊이 의존합니다. 따라서 plane tracker가 초기화를 완료하고 안정적인 트래킹 상태를 구축하기 전에는 MegaTracker가 작업에 개입할 수 없습니다. 또한 AR 트래킹의 안정성은 환경 특징의 영향을 받습니다. 넓은 무텍스처 영역(예: 흰 벽)이나 카메라가 장시간 가려지는 극단적인 시나리오에서 WeChat 하위 plane tracking이 drift되거나 손실되면, MegaTracker도 신뢰할 수 있는 입력 소스를 잃어 실패 상태로 들어갑니다.

다음 단계