Konzepte und Workflow von MegaTracker
Dieses Dokument stellt die Grundkonzepte von MegaTracker sowie die Beziehung zwischen MegaTracker, dem nativen AR-System VisionKit von WeChat und dem Rendering-Framework xr-frame vor.
Bevor Sie beginnen
Lesen Sie in Mega-Übersicht Folgendes:
- Die Grundprinzipien der Mega-Lokalisierung und -Nachverfolgung.
- Was ein Mega Block ist.
- Das erwartete Ergebnis nach der Integration von Mega.
Was ist ein Plane AR Tracker
Der Plane AR Tracker in xr-frame ist im Wesentlichen eine Kapselung der VisionKit 6DoF-Plane-Fähigkeit.
Nachdem isARCamera in der xr-frame-Kamerakomponente aktiviert wurde, wird die 3D-Transformation der Kamera in jedem Frame mit dem AR-System (VisionKit) synchronisiert.
xr-frame stellt 3D-Rendering-Fähigkeiten bereit, während VisionKit Motion-Tracking-Fähigkeiten im Koordinatensystem des realen Raums bereitstellt.
Der Plane AR Tracker kann nicht zusammen mit anderen AR-Trackern verwendet werden.
Was ist MegaTracker
MegaTracker ist die zentrale Algorithmuskomponente, die das WeChat-AR-System (VisionKit) mit dem Mega-Dienst für räumliches Computing verbindet. Sie stellt Cloud-Lokalisierung bereit.
Eingabe: die von VisionKit für jeden Frame berechnete Kamerapose im VisionKit-Koordinatensystem (also 6DoF-Daten) sowie das Kamerabild des Frames, der für die Mega-Lokalisierung verwendet wird.
Ausgabe: die Kamerapose unter dem aktuell lokalisierten und verfolgten Mega Block.
Wie MegaTracker auf xr-frame arbeitet
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
- Im von WeChat nativ bereitgestellten Datenfluss wird die xr-frame-Kamerakomponente in jedem Frame direkt durch das Ergebnis des Plane AR Tracker aktualisiert.
- Im vom Mega-Miniprogramm bereitgestellten Datenfluss werden die Kamerapose im VisionKit-Koordinatensystem (also 6DoF-Daten) und die Bilddaten des Lokalisierungsframes an MegaTracker übergeben. Nach Cloud-Lokalisierung und lokaler Berechnung wird die Kamerapose unter dem aktuell lokalisierten und verfolgten Mega Block ausgegeben. Anschließend wird der LocalTransform der Kamera unter dem Mega Block-Knoten in der xr-frame-Szene aktualisiert. Zu diesem Zeitpunkt übernimmt MegaTracker die Kontrolle über die Kamera, und xr-frame aktualisiert die Kamera nicht mehr anhand des AR-Trackers.
MegaTracker ist stark von den 6DoF-Bewegungsdaten abhängig, die vom Plane Tracker bereitgestellt werden. Daher kann MegaTracker nicht arbeiten, bevor der Plane Tracker die Initialisierung abgeschlossen und einen stabilen Tracking-Zustand aufgebaut hat. Außerdem ist die Stabilität des AR-Trackings durch Umgebungsmerkmale begrenzt. In extremen Szenarien, etwa großen texturlosen Bereichen (z. B. weißen Wänden) oder längerer Kameraverdeckung, geht MegaTracker ebenfalls in einen Fehlerzustand über, wenn das zugrunde liegende Plane Tracking von WeChat driftet oder verloren geht, da dann eine zuverlässige Eingabequelle fehlt.