Mega Go 跟踪目标 hinzufügen
Dieser Artikel beschreibt, wie Sie Tracking-Ziele für Mega Go hinzufügen und konfigurieren.
Vor dem Beginn
- Prüfen Sie, ob meine Ortungsfunktion einsatzbereit ist?, um sicherzustellen, dass die richtige Karte heruntergeladen wurde.
- Importieren Sie die neueste Version des EasyAR-Plugins und aktivieren Sie die Mega Go-Funktion
- Machen Sie sich mit den Grundkonzepten und der Verwendung von Unity AR Tracking-Zielen vertraut.
Anmerkung
Der folgende Inhalt und die Tools gelten nur für die Entwicklung von Unity-Anwendungen mit EasyAR Mega Go. Die Plugin-Version muss >= 4003.1 sein.
Mega Go unterstützt die Entwicklung von Mini-Programmen nicht.
Für den Inhalt dieses Artikels müssen die folgenden Unity-Pakete in das Projekt importiert sein:
com.easyar.sense
Tracking-Ziele von Mega Go
Die Tracking-Ziele von Mega Go sind leere Objekte, die die MegaGoBlockController-Komponente enthalten. Sie repräsentieren in Unity einen Block.

Anmerkung
Wenn das Paket com.easyar.mega nicht importiert ist, sind die Editor-Funktionen des Blocks nicht verfügbar. Dies wirkt sich jedoch nicht auf die Tracking-Effekte und -Funktionen zur Laufzeit aus.
Tracking-Ziel erstellen
Klicken Sie im Hierarchy-View mit der rechten Maustaste an einer leeren Stelle und wählen Sie über das Menü EasyAR Sense > Mega > Target : Mega Go Block, um ein Tracking-Ziel für Mega zu erstellen.

In einem Skript können Sie ARSessionFactory.CreateController verwenden, um es zu erstellen.
ARSessionFactory.CreateController<MegaGoBlockController>();
Tracking-Ziel konfigurieren
Bevor Sie ein Target verwenden können, müssen Sie seine Datenquelle und den Tracker konfigurieren.
Datenquelle des Targets konfigurieren
Ein Tracking-Ziel kann erst erkannt und verfolgt werden, wenn seine Quelle korrekt konfiguriert ist.
Im Hierarchy-View können Sie den Block-Knoten auswählen und dann den Path Type und den Pfad des Blocks eingeben.

In einem Skript können Sie vor MonoBehaviour.Start() die Source ändern, um die Quelle des Blocks festzulegen.
block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);
Dabei gilt:
- PathType ist der Typ des emg-Dateipfads. Es kann ein absoluter Pfad (
Absolute) oder der StreamingAssets-Pfad des Projekts (StreamingAssets) sein. - Path ist der Pfad der emg-Datei. Wenn PathType
Absoluteist, handelt es sich um einen absoluten Pfad im Dateisystem. Wenn PathTypeStreamingAssetsist, handelt es sich um einen relativen Pfad unter dem StreamingAssets-Ordner im Projekt.
Tipp
Da emg-Dateien möglicherweise groß sein können, wird empfohlen, nur in der Testphase den StreamingAssets-Pfad zu verwenden, wenn die App-Paketsize zu groß ist. Bei der offiziellen Veröffentlichung sollten Sie einen absoluten Pfad verwenden und die emg-Datei über ein Ressourcenpaket oder andere Methoden in einem Dateisystempfad ablegen, auf den die App zugreifen kann.
Tracker für das Target konfigurieren
Das Tracking-Ziel wird vom konfigurierten Tracker geladen und verfolgt.
Wichtig
Der Mega Go-Tracker kann zu einem bestimmten Zeitpunkt nur einen Block verfolgen. Wenn mehrere Blöcke gleichzeitig für denselben Tracker konfiguriert sind, wird nur der zuletzt geladene Block verwendet.
Im Hierarchy-View können Sie den Block-Knoten auswählen und dann den Mega Go Tracker in der Session auswählen.
![]()
In einem Skript können Sie die Tracker ändern, um den Tracker des Blocks festzulegen.
block.Tracker = megaGoTracker;
Die Tracker kann zur Laufzeit jederzeit geändert werden. Das Laden/Entladen erfolgt, wenn die Session läuft. Wenn Sie die Tracker auf null setzen, wird das Target aus dem zuvor festgelegten Tracker entladen.
Anmerkung
Es gibt mehrere Schlüsselbedingungen, damit ein Target verfolgt werden kann:
- Der Block, auf den die Source verweist, muss verfügbar sein (offizielle Daten sind immer offline verfügbar, Testdaten sind nur verfügbar, wenn die Daten im Dienst vorhanden sind).
- Die Datei der MegaGoBlockController.Source muss korrekt geladen werden.
- Nach dem Laden der Datei darf keine andere Datei für einen anderen Block geladen werden.
Lebenszyklus des Tracking-Ziels
Ein typischer Lebenszyklus eines Tracking-Ziels sieht wie folgt aus:
flowchart LR
sstart((session 启动))
sstop([session 停止])
start("Target.Start")
load("加载")
tracking[["持续跟踪"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
Der Ablauf lässt sich grob in mehrere Phasen unterteilen:
- Laden: Das Tracking-Ziel wird vom konfigurierten Tracker geladen. Dies geschieht nach Start() des Targets und dem Start der Session.
- Tracking-Prozess: Nachdem das Tracking-Ziel lokalisiert wurde, verfolgt der Tracker kontinuierlich die Position und den Zustand des Ziels, bis das Ziel entladen oder ein anderes Ziel geladen wird.
- Entladen: Das Tracking-Ziel wird aus dem Tracker entladen, und der Tracker verfolgt das Ziel nicht mehr. Dies geschieht, wenn die Session beendet wird oder das Target so eingestellt wird, dass es keinen Tracker verwendet.
