Eine Gruppe von Frame-Datenquellen hinzufügen
Eine AR Session kann mehrere Komponenten für Frame-Datenquellen enthalten, die als frame source group bezeichnet werden. Zur Laufzeit wählt die session anhand des aktuellen Geräts und der aktivierten AR-Funktionen die am besten geeignete Frame-Datenquelle aus der frame source group aus. Dieser Artikel erklärt, wie eine frame source group verwendet und verwaltet wird.
Vor dem Start
- Verstehen Sie die Grundkonzepte, Typen und Auswahlmethoden zur Laufzeit von frame source.
Frame source group einer preset AR Session verwenden
Sessions, die mit der Standardkonfiguration erstellt werden, bringen bereits eine Gruppe von Frame-Datenquellen mit; bei Verwendung einer einzelnen AR-Funktion reicht das in der Regel aus.
Verschiedene preset sessions enthalten unterschiedliche Frame-Datenquellen.
Eine session, die mit dem preset ARSessionFactory.ARSessionPreset.ImageTracking oder über das Menü
AR Session (Image Tracking Preset)erstellt wird, besitzt nur eine einzelne Frame-Datenquelle:
Die scene hierarchy einer session, die mit dem preset ARSessionFactory.ARSessionPreset.MegaBlock_MotionTracking_Inertial oder über das Menü
AR Session (Mega Block Default Preset)erstellt wird, enthält mehrere Komponenten für Frame-Datenquellen:
Wenn in der Szene zunächst eine mit einem bestimmten preset erstellte session verwendet wird, müssen beim Hinzufügen weiterer Funktionen während der Iteration neben den entsprechenden frame filter-Komponenten bei Bedarf auch passende Komponenten für Frame-Datenquellen hinzugefügt werden.
Wichtig
Nach einem Upgrade von Version 4.7 oder älter müssen Sie die session vollständig löschen und sie über das Menü oder ARSessionFactory neu erstellen, um die preset frame source group zu verwenden.
Im Folgenden sind die Framedatenquellen-Komponenten aufgeführt, die standardmäßig für alle voreingestellten AR-Funktionen konfiguriert sind. Beachten Sie, dass die Reihenfolge in der Liste der Komponentenreihenfolge der Framedatenquellen in der Szene entspricht:
| Voreinstellung | Framedatenquellen-Gruppe |
|---|---|
Anmerkung
Die Reihenfolge der mit preset erstellten Komponenten stellt sicher, dass auf allen von built-in frame source unterstützten Geräten die optimale Frame-Datenquelle verwendet wird.
Standardkonfiguration von frame source verwenden
Bei Verwendung der Standardparameter wird die frame source-Konfiguration automatisch an das Gerät und die zur Laufzeit aktivierten AR-Funktionen angepasst.
Wenn Sie Parameter der frame source manuell geändert haben, müssen Sie bei Änderungen der AR-Funktionen in der session (beispielsweise beim Hinzufügen von motion tracking zu einer session, die ursprünglich nur image tracking enthielt) möglicherweise die Parameter der frame source manuell anpassen, damit sie den neuen Funktionsanforderungen entsprechen und alle AR-Funktionen optimal laufen.
Wichtig
Nach einem Upgrade von Version 4.7 oder älter müssen Sie die session vollständig löschen und sie über das Menü oder ARSessionFactory neu erstellen, um die korrekten Standardparameter zu verwenden.
Frame source group hinzufügen
Wählen Sie in der Ansicht Hierarchy AR Session (EasyAR) aus und klicken Sie mit der rechten Maustaste. Über das Menü EasyAR Sense > [ AR Feature ] > Frame Source : * können Sie eine für diese Funktion geeignete frame source-Komponente hinzufügen. Sie können auch über EasyAR Sense > Frame Source by Transform Type > * Dof > Frame Source : * die benötigte frame source-Komponente hinzufügen.
In Skripten verwenden Sie ARSessionFactory.AddFrameSource<Source>(GameObject, bool), um frame source-Komponenten hinzuzufügen.
Zum Beispiel fügt das Menü EasyAR Sense > Frame Source by Transform Type > 3 Dof Rot-Only > Frame Source : Three Dof Camera Device der aktuell ausgewählten session eine ThreeDofCameraDeviceFrameSource hinzu.

Der entsprechende Skriptcode lautet:
ARSessionFactory.AddFrameSource<ThreeDofCameraDeviceFrameSource>(session);
Reihenfolge der frame source
Während der session-Assembly wird letztlich nur eine Frame-Datenquelle aus der frame source group ausgewählt und in die session eingebaut. Die Auswahlregel hängt vom Wert der Eigenschaft AssembleOptions.FrameSourceSelection ab. In der Standardkonfiguration können Sie die letztlich ausgewählte frame source beeinflussen, indem Sie die Reihenfolge der einzelnen Komponenten in der frame source group anpassen.
Normalerweise können Sie frame source-Objekte direkt verschieben und sortieren, indem Sie in der Ansicht Hierarchy die Methode zum Sortieren von Objekten in der scene verwenden.
In Skripten verwenden Sie Transform.SetSiblingIndex(int), um die Objekt-Reihenfolge anzupassen.
Wenn beispielsweise MotionTrackerFrameSource vor anderen frame sources stehen soll, wählen Sie in der Ansicht Hierarchy das Objekt Motion Tracker aus und ziehen es an die oberste Position.
Der gleiche Effekt kann auch mit folgendem Skriptcode erreicht werden:
motionTrackerFrameSource.transform.SetSiblingIndex(0);
Außerdem stehen einige predefined Sortiermethoden zur Verfügung. Wählen Sie in der Ansicht Hierarchy AR Session (EasyAR) aus und klicken Sie mit der rechten Maustaste. Über das Menü EasyAR Sense > Utility > Sort Frame Source : * > * können bestimmte frame source-Komponenten sortiert werden.
In Skripten verwenden Sie ARSessionFactory.SortFrameSource(GameObject, ARSessionFactory.FrameSourceSortMethod), um den gleichen Effekt zu erzielen.
Zum Beispiel kann das Menü EasyAR Sense > Utility > Sort Frame Source : Motion Tracker > System SLAM MotionTrackerFrameSource vor ARCoreFrameSource, ARCoreARFoundationFrameSource, ARKitFrameSource, ARKitARFoundationFrameSource und AREngineFrameSource platzieren.

Der entsprechende Skriptcode lautet:
ARSessionFactory.SortFrameSource(session, new ARSessionFactory.FrameSourceSortMethod { MotionTracker = ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod.PreferEasyAR });
Nach der obigen Sortierung wird die scene hierarchy zu:

Verwandte Themen
- Erfahren Sie, wie Sie frame sources für Headsets hinzufügen und konfigurieren
- Versuchen Sie, zur Laufzeit die verwendete frame source abzurufen
