Table of Contents

Hinzufügen eines mega-tracking-ziels

Dieser Artikel beschreibt, wie Sie ein mega-tracking-ziel hinzufügen und konfigurieren.

Vorbereitung

Anmerkung

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

Wenn Sie Mini-Programme entwickeln, lesen Sie bitte Erstellen und Hochladen von Annotationen mit dem Unity-Editor (Mini-Programm-Entwicklung).

Wenn Sie keine Unity-Anwendung entwickeln, aber die Mega-Kartierungsergebnisse ansehen möchten, lesen Sie bitte 3D-Texturiertes Mesh Vorschauen in der Mega-Benutzeranleitung.

Wenn Sie keine Unity-Anwendung entwickeln, aber die Lokalisierungswirkung in einer Simulation überprüfen möchten, lesen Sie bitte Simulationslauf-Effektvorschau in der Mega-Benutzeranleitung.

Dieser Artikel setzt voraus, dass die folgenden Unity-Pakete bereits in Ihr Projekt importiert wurden:

  • com.easyar.sense

Mega trackingziele

Das mega trackingziel ist ein leeres GameObject mit der MegaBlockController-Komponente, die in Unity einen Block darstellt.

alt text

Anmerkung

Wenn das Paket com.easyar.mega nicht importiert ist, sind die Editor-Funktionen für Blöcke nicht verfügbar, dies hat jedoch keine Auswirkungen auf die Tracking-Ergebnisse und Funktionalität zur Laufzeit.

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

alt text

Verfolgungsziele erstellen

Klicken Sie mit der rechten Maustaste auf eine leere Stelle in der Hierarchy-Ansicht und wählen Sie im Menü EasyAR Sense > Mega > Target : Mega Block, um ein Mega-Verfolgungsziel zu erstellen.

alt text

Im Skript kann ARSessionFactory.CreateController zur Erstellung verwendet werden.

ARSessionFactory.CreateController<MegaBlockController>();

Konfigurieren des verfolgungsziels

Konfigurieren der target-datenquelle

Verfolgungsziele können nur erkannt und verfolgt werden, nachdem ihre quelle korrekt konfiguriert wurde.

In der Hierarchy-ansicht können sie nach dem auswählen eines block-knotens die ID und den namen des blocks eingeben.

Im skript können sie Source vor der komponente MonoBehaviour.Start() ändern, um die quelle des blocks festzulegen.

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

Wobei

  • die block-id ist die eindeutige kennung des blocks und muss ausgefüllt werden.
  • der block-name ist der name des blocks, kann nach bedarf beliebig ausgefüllt werden, es wird im allgemeinen empfohlen, den echten namen des blocks einzugeben, um die erkennung zu erleichtern.
Tipp

block-id und name können aus der entsprechenden positionierungsdatenbank im EasyAR-entwicklungsportal abgerufen werden.

Wenn es keine block-daten in der positionierungsdatenbank gibt, müssen sie erforderliche blöcke zur positionierungsdatenbank hinzufügen und erneut überprüfen, ob die cloud-positionierungsdatenbank gültig ist.

Konfiguration des Trackers für das Target

Das zu verfolgende Ziel wird vom konfigurierten Tracker geladen und nach korrekter Ortung verfolgt.

Im Hierarchy-View können Sie den Block-Knoten auswählen und dann Mega Tracker in der Session auswählen.

In einem Skript können Sie Tracker ändern, um den Tracker für den Block festzulegen.

block.Tracker = megaTracker;

Tracker kann jederzeit zur Laufzeit geändert werden. Das Laden/Entladen erfolgt während der Ausführung der Session. Wenn Sie Tracker auf null setzen, wird das Target aus dem zuvor festgelegten Tracker entladen. Das Laden des Blocks ist ein virtueller Vorgang und kann nicht fehlschlagen.

Anmerkung

Es gibt mehrere Schlüsselbedingungen für die Verfolgung eines Targets:

  1. Die ID von MegaBlockController.Source muss vor MonoBehaviour.Start() korrekt konfiguriert werden.
  2. Der Block, der der ID von Source entspricht, muss in der Ortungsbibliothek vorhanden sein.
  3. MegaBlockController.Tracker muss so konfiguriert werden, dass die richtige Ortungsbibliothek verwendet wird.

Verfolgung des Lebenszyklus eines Ziels

Ein typischer Lebenszyklus für die Verfolgung eines Ziels sieht wie folgt aus:

flowchart LR
  sstart((Sitzung startet))
  sstop([Sitzung stoppt])
  
  start("Ziel.Start")
  load("Laden")
  tracking[["Kontinuierliche Verfolgung"]]

  sstart --> load --> tracking --> sstop
  start -. "Ziel.Verfolger = verfolger" .-> load

Der Prozess lässt sich grob in mehrere Phasen unterteilen:

  • Laden: Das zu verfolgende Ziel wird vom konfigurierten Verfolger geladen. Dies geschieht nach dem Start() des Ziels selbst und nach dem Start der Sitzung.
  • Verfolgungsprozess: Sobald das Ziel lokalisiert ist, verfolgt der Verfolger kontinuierlich seine Position und seinen Status, bis ein anderes Ziel lokalisiert wird.
  • Entladen: Das Ziel wird aus dem Verfolger entladen, und der Verfolger verfolgt das Ziel nicht mehr. Dies geschieht, wenn die Sitzung beendet wird oder das Ziel so konfiguriert wird, dass es nicht mehr vom Verfolger verwendet wird.

Nächste Schritte

Verwandte themen