Table of Contents

Mega Go-Tracking-Target hinzufügen

Dieser Artikel beschreibt, wie ein Mega Go-Tracking-Target hinzugefügt und konfiguriert wird.

Vor dem Start

Anmerkung

Die folgenden Inhalte und tools gelten nur für die Entwicklung von Unity-Anwendungen mit EasyAR Mega Go. Eine Plugin-Version >= 4003.1 ist erforderlich.

Mega Go unterstützt keine mini program-Entwicklung.

Für den Inhalt dieses Artikels müssen die folgenden Unity-Pakete bereits in das Projekt importiert sein:

  • com.easyar.sense

Mega Go-Tracking-Target

Ein Mega Go-Tracking-Target ist ein empty object mit der Komponente MegaGoBlockController. Es stellt in Unity einen block dar.

alt text

Anmerkung

Wenn das Paket com.easyar.mega nicht importiert ist, sind die Editor-Funktionen des block nicht verfügbar. Dies beeinflusst jedoch nicht den Tracking-Effekt und die Funktionen zur Laufzeit.

Tracking-Target erstellen

Klicken Sie in einem leeren Bereich der Ansicht Hierarchy mit der rechten Maustaste. Über das Menü EasyAR Sense > Mega > Target : Mega Go Block können Sie ein Mega-Tracking-Target erstellen.

alt text

Im script können Sie es mit ARSessionFactory.CreateController erstellen.

ARSessionFactory.CreateController<MegaGoBlockController>();

Tracking-Target konfigurieren

Bevor ein target verwendet wird, müssen seine Datenquelle und sein tracker konfiguriert werden.

Target-Datenquelle konfigurieren

Ein Tracking-Target kann erst erkannt und verfolgt werden, nachdem seine Quelle korrekt konfiguriert wurde.

In der Ansicht Hierarchy können Sie den block-Knoten auswählen und anschließend Path Type und Path des block ausfüllen.

Im script können Sie vor MonoBehaviour.Start() der Komponente Source ändern, um die Quelle des block festzulegen.

block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);

Dabei gilt:

  • PathType ist der Typ des emg-Dateipfads und kann ein absoluter Pfad (Absolute) oder der StreamingAssets-Pfad des Projekts (StreamingAssets) sein.
  • Path ist der Pfad der emg-Datei. Wenn PathType Absolute ist, ist dies der absolute Pfad im Dateisystem; wenn PathType StreamingAssets ist, ist dies der relative 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 die emg-Datei groß sein kann, wird empfohlen, den StreamingAssets-Pfad nur während der Testphase zu verwenden, wenn das Anwendungspaket zu groß wird. Für die offizielle Veröffentlichung verwenden Sie einen absoluten Pfad und legen die emg-Datei über ein resource package oder auf andere Weise in einem für die Anwendung zugänglichen Dateisystempfad ab.

Vom target verwendeten tracker konfigurieren

Das Tracking-Target wird vom konfigurierten tracker geladen und verfolgt.

Wichtig

Der Mega Go-tracker kann gleichzeitig nur einen block verfolgen. Wenn mehrere blocks gleichzeitig in demselben tracker konfiguriert sind, wird nur der zuletzt geladene block verwendet.

In der Ansicht Hierarchy können Sie den block-Knoten auswählen und anschließend den Mega Go Tracker in der session wählen.

Im script können Sie Tracker ändern, um den tracker für den block festzulegen.

block.Tracker = megaGoTracker;

Tracker kann zur Laufzeit jederzeit geändert werden; Laden/Entladen geschieht, während die session läuft. Wenn Tracker auf null gesetzt wird, wird dieses target aus dem zuvor gesetzten tracker entladen.

Anmerkung

Damit ein target verfolgt werden kann, gibt es mehrere zentrale Bedingungen:

  1. Der block, der Source entspricht, muss verfügbar sein (offizielle Daten sind immer offline verfügbar, Testdaten nur, wenn diese Daten im service vorhanden sind).
  2. Die Datei von MegaGoBlockController.Source muss korrekt geladen werden.
  3. Nach dem Laden der Datei darf keine andere Datei geladen worden sein, die einem anderen block entspricht.

Lebenszyklus des Tracking-Targets

Ein typischer Lebenszyklus eines Tracking-Targets sieht wie folgt aus:

flowchart LR
  sstart((session gestartet))
  sstop([session gestoppt])
  
  start("Target.Start")
  load("Laden")
  tracking[["Fortlaufendes Tracking"]]

  sstart --> load --> tracking --> sstop
  start -. "Target.Tracker = tracker" .-> load 

Der Prozess ist grob in mehrere Phasen unterteilt:

  • Laden: Das Tracking-Target wird vom konfigurierten tracker geladen. Dies geschieht nach dem eigenen Start() des target und nach dem Start der session.
  • Tracking-Prozess: Nachdem das Tracking-Target lokalisiert wurde, verfolgt der tracker fortlaufend Position und Status des target, bis das target entladen oder ein anderes target geladen wird.
  • Entladen: Das Tracking-Target wird aus dem tracker entladen, und der tracker verfolgt das target nicht mehr. Dies geschieht, wenn die session stoppt oder wenn das target so eingestellt wird, dass es keinen tracker verwendet.

Nächste Schritte

Verwandte Themen