Table of Contents

Class ARFoundationFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Verbinden Sie die Ausgabe von AR Foundation in der Szene mit der benutzerdefinierten Framequelle von EasyAR. Bietet Unterstützung für AR Foundation über die benutzerdefinierte Kamerafunktionalität von EasyAR Sense.

Diese Framequelle ist ein Bewegungsverfolgungsgerät, das Bewegungsdaten im ARSession ausgibt.

Um diese Framequelle zu verwenden, ist ``AR Foundation`` erforderlich. Sie müssen AR Foundation gemäß der offiziellen Dokumentation konfigurieren.

public abstract class ARFoundationFrameSource : FrameSource
Vererbung
ARFoundationFrameSource
Derived

Eigenschaften

AvailableCenterMode

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Alle verfügbaren Zentrumsmodi.

protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }

Camera

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Auf Desktop-Geräten oder Mobiltelefonen repräsentiert diese Kamera das Camera in der virtuellen Welt, das dem physischen Kameragerät in der realen Umgebung entspricht. Ihre Projektionsmatrix und Position entsprechen der realen Kamera und werden von EasyAR gesteuert. Auf Headsets dient diese Kamera nur dazu, einige Diagnosetexte vor den Augen anzuzeigen, nicht zum Rendern des Bildes. Die Kamera wird auch nicht von EasyAR gesteuert.

protected override Camera Camera { get; }

CameraFrameStarted

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird während der gesamten Lebensdauer der ARSession abgerufen.

Ob der Kameraframe mit der Eingabe begonnen hat.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird abgerufen, wenn CameraFrameStarted true ist.

Stellt die Gerätekamera bereit, die die Kameraframedaten liefert. Wenn die Kameraframedaten von mehreren Kameras stammen, müssen alle Kameras in der Liste enthalten sein.

Stellen Sie sicher, dass der Wert korrekt ist, wenn CameraFrameStarted true ist.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Stellt Systemanzeigeinformationen bereit. Sie können DefaultSystemDisplay oder DefaultHMDDisplay verwenden, um die Standardanzeigeinformationen zu erhalten.

protected override IDisplay Display { get; }

IsAvailable

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Ob die aktuelle Framequelle verfügbar ist.

Wenn der Wert null ist, wird CheckAvailability() aufgerufen, und der Wert wird nach Abschluss der Coroutine abgerufen.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Wenn der Wert true ist, aktualisiert die Session die Transformation der Kamera und rendert das Kamerabild.

Bei der Erstellung einer Headset-Erweiterung sollte dies false sein. Sie sollten die volle Kontrolle über die 3D-Kamera in der Szene haben. Sie sollten das Kamerarendering verwalten, insbesondere im VST-Modus.

protected override bool IsCameraUnderControl { get; }

IsHMD

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Ob die aktuelle Framequelle ein Headset ist. Wenn es sich um ein Headset handelt, werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.

Einige Frame-Filter verhalten sich auf dem Gerät unterschiedlich.

protected override bool IsHMD { get; }

enabled

Steuert, ob der ARSession während der Laufzeit Bildstromdaten an EasyAR sendet. Nach dem Start der Session wird nur gesendet, wenn MonoBehaviour.enabled true ist.

public bool enabled { get; set; }

Methoden

CheckAvailability()

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgerufen.

Coroutine, die verwendet wird, um zu prüfen, ob die Framequelle verfügbar ist, wenn IsAvailable gleich null ist.

protected override IEnumerator CheckAvailability()

OnSessionStart(ARSession)

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird nur während des StartSession()-Prozesses abgerufen.

Behandelt den Start der Session, wenn diese Framequelle in die Assembly eingebaut wurde. Diese Methode ist für die verzögerte Initialisierung konzipiert. Hier können Sie AR-spezifische Initialisierungsarbeiten durchführen.

protected override void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

Wird nur bei der Erstellung einer neuen Framequelle bereitgestellt. Es wird während StopSession(bool) oder anderen Session-Stopp-/Beschädigungsprozessen abgerufen.

Behandelt das Stoppen der Session, wenn diese Framequelle in die Assembly eingebaut wurde. Sie können diese Methode verwenden, um Ressourcen zu zerstören, die in StartSession() und während des Session-Betriebs erstellt wurden, und den internen Zustand wiederherzustellen. Diese Methode wird garantiert aufgerufen, bevor die Session zerstört wird. Wenn die Framequelle vor der Session zerstört wird, wird sie nicht aufgerufen und die Session wird beschädigt.

protected override void OnSessionStop()