Table of Contents

Mega-Tracking-Ziel hinzufügen

Dieses Dokument beschreibt, wie Sie Mega-Tracking-Ziele hinzufügen und konfigurieren.

Vor dem Start

Anmerkung

Die folgenden Inhalte und Werkzeuge gelten nur für die Entwicklung von Unity-Anwendungen mit EasyAR Mega.

Wenn Sie ein Mini-Programm entwickeln, lesen Sie bitte Anmerkungen mit dem Unity-Editor erstellen und hochladen (Mini-Programm-Entwicklung).

Wenn Sie keine Unity-Anwendung entwickeln, aber die Ergebnisse des Mega-Mappings ansehen möchten, lesen Sie im Mega-Leitfaden 3D-Realwelt-Mesh anzeigen.

Wenn Sie keine Unity-Anwendung entwickeln, aber die Simulation zur Lokalisierungsanzeige ausführen möchten, lesen Sie im Mega-Leitfaden Simulationseffekt anzeigen.

Dieses Dokument erfordert, dass die folgenden Unity-Pakete bereits im Projekt importiert wurden:

  • com.easyar.sense

Mega-Tracking-Ziele

Ein Mega-Tracking-Ziel ist ein leeres Objekt mit der Komponente MegaBlockController. Es stellt in Unity einen Block dar.

alt text

Anmerkung

Wenn das Paket com.easyar.mega nicht importiert wurde, kann die Editor-Funktion des Blocks nicht verwendet werden. Laufzeit-Tracking und die übrigen Funktionen bleiben jedoch erhalten.

Wenn die Konfiguration die Mega-Funktion nicht korrekt aktiviert, kann sie nicht verwendet werden.

alt text

Tracking-Ziel erstellen

Klicken Sie im Hierarchy-Fenster an einer freien Stelle mit der rechten Maustaste. Über das Menü EasyAR Sense > Mega > Target : Mega Block können Sie ein Mega-Tracking-Ziel erstellen.

alt text

Im Skript können Sie ARSessionFactory.CreateController verwenden, um es zu erstellen.

ARSessionFactory.CreateController<MegaBlockController>();

Tracking-Ziel konfigurieren

Datenquelle des Targets konfigurieren

Ein Tracking-Ziel kann nur erkannt und verfolgt werden, wenn seine Quelle korrekt konfiguriert ist.

Im Hierarchy-Fenster können Sie den Block-Knoten auswählen und anschließend die ID und den Namen des Blocks eintragen.

Im Skript können Sie vor MonoBehaviour.Start() die Source ändern, um die Quelle des Blocks festzulegen.

block.Source = new MegaBlockController.BlockInfoSourceData(id, name);

Dabei gilt:

  • Die Block-ID ist die eindeutige Kennung des Blocks und muss angegeben werden.
  • Der Block-Name ist der Name des Blocks und kann frei gewählt werden. Empfehlenswert ist der echte Name des Blocks, damit er leichter zu erkennen ist.
Tipp

Block-ID und Name können im EasyAR Developer Center aus der entsprechenden Lokalisierungsbibliothek bezogen werden.

Wenn in der Lokalisierungsbibliothek keine Blockdaten vorhanden sind, müssen Sie den benötigten Block zur Lokalisierungsbibliothek hinzufügen und anschließend erneut prüfen, ob die Cloud-Lokalisierungsbibliothek gültig ist.

Tracker für das Target konfigurieren

Das Tracking-Ziel wird vom konfigurierten Tracker geladen und nach erfolgreicher Lokalisierung verfolgt.

Im Hierarchy-Fenster können Sie den Block-Knoten auswählen und anschließend im Session-Bereich Mega Tracker wählen.

Im Skript können Sie Tracker ändern, um den Tracker des Blocks festzulegen.

block.Tracker = megaTracker;

Tracker kann zur Laufzeit jederzeit geändert werden. Laden und Entladen erfolgen während der Laufzeit der Session. Wenn Sie Tracker auf null setzen, wird das Target vom zuvor gesetzten Tracker entladen. Das Laden des Blocks ist ein virtueller Vorgang und kann nicht fehlschlagen.

Anmerkung

Damit ein Target verfolgt wird, müssen einige wichtige Bedingungen erfüllt sein:

  1. Die ID von MegaBlockController.Source muss vor MonoBehaviour.Start() korrekt konfiguriert sein.
  2. Der Block mit der ID aus Source muss in der Lokalisierungsbibliothek vorhanden sein.
  3. MegaBlockController.Tracker muss für die richtige Lokalisierungsbibliothek konfiguriert sein.

Lebenszyklus des Tracking-Ziels

Ein typischer Lebenszyklus eines Tracking-Ziels sieht folgendermaßen aus:

flowchart LR
  sstart((Session-Start))
  sstop([Session-Stopp])
  
  start("Target.Start")
  load("Laden")
  tracking[["Dauerhaftes Tracking"]]

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

Der Ablauf lässt sich grob in folgende Phasen gliedern:

  • Laden: Das Tracking-Ziel wird vom konfigurierten Tracker geladen. Dies geschieht nach dem eigenen Start() des Targets und nach dem Start der Session.
  • Tracking: Nachdem das Tracking-Ziel lokalisiert wurde, verfolgt der Tracker dessen Position und Status fortlaufend, bis ein anderes Ziel lokalisiert wird.
  • Entladen: Das Tracking-Ziel wird aus dem Tracker entfernt und der Tracker verfolgt das Ziel nicht mehr. Dies geschieht beim Stopp der Session oder wenn dem Target kein Tracker mehr zugewiesen ist.

Nächste Schritte

Verwandte Themen