Table of Contents

Class ARCoreFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Steuert das ARCore-Kameragerät (easyar.ARCoreCameraDevice) in der Szene als MonoBehaviour und bietet Funktionserweiterungen in der Unity-Umgebung.

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

public class ARCoreFrameSource : FrameSource
Vererbung
ARCoreFrameSource
Geerbte Mitglieder

Felder

DesiredFocusMode

Der gewünschte Fokusmodus. Änderungen sind nur wirksam, bevor das DeviceOpened-Ereignis oder OnEnable auftritt.

Hinweis: Aufgrund von Hardware- oder Systembeschränkungen kann der Fokusschalter auf einigen Geräten unwirksam sein.

public ARCoreCameraDeviceFocusMode DesiredFocusMode

Eigenschaften

Camera

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

Auf Desktop-Geräten oder Handys repräsentiert diese Kamera das Camera in der virtuellen Welt, das dem realen Kameragerät entspricht. Ihre Projektionsmatrix und Position entsprechen der realen Kamera und werden von EasyAR gesteuert. Auf Head-Mounted-Displays dient diese Kamera nur zur Anzeige von Diagnosetext vor den Augen, nicht zum Rendern. Die Kamera wird nicht von EasyAR gesteuert.

protected override Camera Camera { get; }

CameraCandidate

Alternative für Camera, nur wirksam, wenn Unity XR Origin nicht verwendet wird. Falls nicht gesetzt, wird Camera.main verwendet.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

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

Ob die Kamera-Frame-Eingabe begonnen hat.

protected override bool CameraFrameStarted { get; }

DeviceCameras

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

Stellt die Gerätekamera bereit, die die Kameraframe-Daten liefert. Wenn Frame-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

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

Stellt Systemanzeigeinformationen bereit. Sie können DefaultSystemDisplay oder DefaultHMDDisplay für Standardanzeigeinformationen verwenden.

protected override IDisplay Display { get; }

FrameRateRange

Bildratenbereich. Nur verfügbar, wenn Opened true ist.

public Vector2 FrameRateRange { get; }

IsAvailable

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

Ob die aktuelle Frame-Quelle verfügbar ist.

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

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

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

Bei true aktualisiert die Session das Kamera-Transform und rendert das Kamerabild.

Bei der Erstellung von Head-Mounted-Display-Erweiterungen sollte dies false sein. Sie sollten die 3D-Kamera in der Szene vollständig steuern und das Kamera-Rendering verarbeiten, insbesondere im VST-Modus.

protected override bool IsCameraUnderControl { get; }

IsHMD

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

Ob die aktuelle Frame-Quelle ein Head-Mounted-Display ist. Bei Head-Mounted-Displays werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.

Einige Frame-Filter verhalten sich auf Geräten 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 Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während StartSession() abgerufen.

Verarbeitet den Session-Start, wenn diese Frame-Quelle in Assembly integriert wurde. Diese Methode dient zur verzögerten Initialisierung. Hier können AR-spezifische Initialisierungen erfolgen.

protected override void OnSessionStart(ARSession session)

Parameter

session

OnSessionStop()

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

Verarbeitet den Session-Stopp, wenn diese Frame-Quelle in Assembly integriert wurde. Hier können in StartSession() und während der Session erstellte Ressourcen zerstört sowie der interne Zustand wiederhergestellt werden. Diese Methode wird vor der Session-Zerstörung 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()

Open()

Öffnet das Gerät. Wenn Open() und Close() nicht manuell aufgerufen werden, erfolgt das Öffnen automatisch nach dem Start von 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