Table of Contents

Mega Go 跟踪目标 hinzufügen

Dieser Artikel beschreibt, wie Sie Tracking-Ziele für Mega Go hinzufügen und konfigurieren.

Vor dem Beginn

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.

alt text

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.

alt text

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 Absolute ist, handelt es sich um einen absoluten Pfad im Dateisystem. Wenn PathType StreamingAssets ist, handelt es sich um einen relativen Pfad unter dem StreamingAssets-Ordner im Projekt.
Tipp

Die emg-Datei sollte von der Mega Go-Seite im EasyAR Developer Center heruntergeladen werden.

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:

  1. 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).
  2. Die Datei der MegaGoBlockController.Source muss korrekt geladen werden.
  3. 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.

Nächste Schritte

Verwandte Themen