Table of Contents

Class ARFoundationFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Verbinden Sie die Ausgabe von AR Foundation im Szenario mit der benutzerdefinierten Frame-Quelle von EasyAR. Bietet AR Foundation-Unterstützung über die benutzerdefinierte Kamera-Funktionalität von EasyAR Sense.

Diese Frame-Quelle ist ein Bewegungsverfolgungsgerät, das in ARSession Bewegungsdaten ausgibt.

Um diese Frame-Quelle 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 Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

Alle verfügbaren Zentrumsmodi.

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

Camera

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

Auf Desktop- oder Mobilgeräten 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 echten Kamera und werden von EasyAR gesteuert. Bei Headsets dient diese Kamera nur zur Anzeige von Diagnosetext vor den Augen, 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 Frame-Quelle bereitgestellt. Es wird während der gesamten Lebensdauer von ARSession aufgerufen.

Ob die Kamerabilderfassung gestartet wurde.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird aufgerufen, wenn CameraFrameStarted true ist.

Bietet die Gerätekamera für Kamerabilddaten. Wenn die Daten 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 Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

Stellt Anzeigesysteminformationen bereit. Sie können DefaultSystemDisplay oder DefaultHMDDisplay verwenden, um Standard-Anzeigeinformationen zu erhalten.

protected override IDisplay Display { get; }

IsAvailable

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

Ob die aktuelle Frame-Quelle 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 Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

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

Bei der Erstellung einer Headset-Erweiterung sollte dies false sein. Sie sollten die 3D-Kamera in der Szene vollständig steuern. Sie sollten das Kamera-Rendering verarbeiten, insbesondere im VST-Modus.

protected override bool IsCameraUnderControl { get; }

IsHMD

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

Ob die aktuelle Frame-Quelle ein Headset ist. Bei einem Headset 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; }

Methoden

CheckAvailability()

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird ausschließlich während des Assemble()-Prozesses aufgerufen.

IsAvailable gleich null ist, wird Coroutine verwendet, um die Verfügbarkeit der Frame-Quelle zu prüfen.

protected override IEnumerator CheckAvailability()

OnSessionStart(ARSession)

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird ausschließlich während StartSession() aufgerufen.

Verarbeitet den Session-Start, wenn diese Frame-Quelle in Assembly integriert wurde. Diese Methode ist für verzögerte Initialisierung vorgesehen. 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 Frame-Quelle bereitgestellt. Es wird während StopSession(bool) oder anderen Session-Stopp-/Beschädigungsprozessen aufgerufen.

Verarbeitet den Session-Stopp, wenn diese Frame-Quelle in Assembly integriert wurde. Hier können Sie in StartSession() und während der Session erstellte Ressourcen zerstören sowie den internen Status wiederherstellen. Diese Methode wird vor der Zerstörung der Session garantiert aufgerufen. Wenn die Frame-Quelle vor der Session zerstört wird, wird sie nicht aufgerufen und die Session wird beschädigt.

protected override void OnSessionStop()