Table of Contents

Class VisionOSARKitFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

EineMonoBehaviour, die das VisionOS-ARKit-Kameragerät (easyar.VisionOSARKitCameraDevice) in der Szene steuert und Funktionserweiterungen in der Unity-Umgebung bietet.

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

Bei Verwendung von Testprodukten (Personal-License, Test-XR-License oder Test-Mega-Service usw.) auf einer benutzerdefinierten Kamera oder einem Head-Mounted-Display reagiert EasyAR Sense nach jedem Start nach einer festen, begrenzten Zeit nicht mehr.

public class VisionOSARKitFrameSource : FrameSource
Vererbung
VisionOSARKitFrameSource
Geerbte Mitglieder

Eigenschaften

AvailableCenterMode

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

Alle verfügbaren Zentrumsmodi.

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

Camera

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

Auf Desktop-Geräten oder Handys repräsentiert diese Kamera die Entsprechung des realen Kamerageräts in der virtuellen Welt (Camera). Ihre Projektionsmatrix und Position entsprechen der realen Kamera und werden von EasyAR gesteuert. Auf einem Head-Mounted-Display dient diese Kamera nur dazu, Diagnosetext vor den Augen anzuzeigen, nicht zum Rendern des Bildes. Die Kamera wird auch nicht von EasyAR gesteuert.

protected override Camera Camera { get; }

CameraFrameStarted

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird während der gesamten Lebensdauer der ARSession abgefragt.

Ob die Kameraframes begonnen haben einzutreffen.

protected override bool CameraFrameStarted { get; }

DeviceCameras

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird abgefragt, wenn CameraFrameStarted true ist.

Stellt die Gerätekamera bereit, die die Kameraframedaten liefert. Wenn die Kameraframedaten von mehreren Kameras stammen, muss die Liste alle Kameras enthalten.

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

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

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

protected override IDisplay Display { get; }

FrameRateRange

Bildwiederholrate-Bereich. Nur verfügbar, wenn Opened true ist.

public Vector2 FrameRateRange { get; }

IsAvailable

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

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

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

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

Bei der Erstellung einer Head-Mounted-Display-Erweiterung sollte dies false sein. Sie sollten die 3D-Kamera in der Szene vollständig kontrollieren. Sie sollten das Kamerarendering verarbeiten, insbesondere im Video-See-Through-Modus.

protected override bool IsCameraUnderControl { get; }

IsHMD

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des Assemble()-Prozesses abgefragt.

Ob die aktuelle Frame-Quelle ein Head-Mounted-Display ist. Wenn es sich um ein Head-Mounted-Display 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; }

Opened

Ob die Kamera geöffnet ist.

public bool Opened { get; }

Size

Aktuelle Bildgröße. Nur verfügbar, wenn Opened true ist.

public Vector2Int Size { get; }

Methoden

Close()

Schließt das Gerät.

public void Close()

OnSessionStart(ARSession)

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während des StartSession()-Prozesses abgefragt.

Verarbeitet den Session-Start, falls diese Frame-Quelle in die Assembly eingebaut wurde. Diese Methode ist für verzögerte Initialisierung vorgesehen. Hier können AR-spezifische Initialisierungsarbeiten durchgeführt werden.

protected override void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

Nur bei der Erstellung einer neuen Frame-Quelle verfügbar. Wird während StopSession(bool) oder anderen Session-Stopp-/Beschädigungsprozessen abgefragt.

Verarbeitet das Session-Ende, falls diese Frame-Quelle in die Assembly eingebaut wurde. Mit dieser Methode können Ressourcen, die in StartSession() und während des Session-Betriebs erstellt wurden, zerstört und der interne Zustand wiederhergestellt werden. Diese Methode wird garantiert aufgerufen, bevor die Session zerstört wird. Wenn die Frame-Quelle vor der Session zerstört wird, wird sie nicht aufgerufen und die Session wird beschädigt.

protected override void OnSessionStop()

Open()

Öffnet das Gerät. Wenn Open() und Close() nicht manuell aufgerufen werden, erfolgt das Öffnen automatisch nach dem Start der ARSession.

public void Open()

Ereignisse

DeviceClosed

Ereignis beim Schließen des Geräts.

public event Action DeviceClosed

DeviceOpened

Ereignis beim Öffnen des Geräts, der boolesche Wert gibt an, ob es erfolgreich war.

public event Action<bool, PermissionStatus, string> DeviceOpened