Class AREngineFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Verbinden Sie die Ausgabe des AREngine-Kamerageräts in der Szene mit der benutzerdefinierten Framequelle von EasyAR. Bietet Huawei AR Engine-Unterstützung über die benutzerdefinierte Kamerafunktion von EasyAR Sense.
Diese Framequelle ist ein Bewegungsverfolgungsgerät, das Bewegungsdaten imARSession ausgibt.
Diese Framequelle verwendet nicht das ``Huawei AR Engine Unity SDK``, dessen Hinzufügung ist nicht erforderlich.
public class AREngineFrameSource : FrameSource
- Vererbung
-
AREngineFrameSource
- Geerbte Mitglieder
Felder
DesiredFocusMode
Der gewünschte Fokusmodus, Änderungen sind nur wirksam vor demDeviceOpened-Ereignis oder OnEnable.
Hinweis: Aufgrund von Hardware-oder Systembeschränkungen kann die Fokussteuerung auf einigen Geräten unwirksam sein.
public AREngineCameraDeviceFocusMode DesiredFocusMode
Eigenschaften
Camera
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble() abgerufen.
Auf Desktopgeräten oder Handys repräsentiert diese Kamera dasCamera in der virtuellen Welt, das dem physischen Kameragerät entspricht. Ihre Projektionsmatrix und Position entsprechen der echten Kamera und werden von EasyAR gesteuert. Auf Head-Mounted-Displays dient diese Kamera nur zur Anzeige von Diagnosetexten vor den Augen, nicht zum Rendern. Die Kamera wird nicht von EasyAR gesteuert.
protected override Camera Camera { get; }
CameraCandidate
Alternative zuCamera, 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 Framequelle verfügbar. Wird während der gesamten Lebensdauer vonARSession abgerufen.
Ob die Kamerabilderfassung begonnen hat.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird abgerufen, wennCameraFrameStarted true ist.
Stellt die Gerätekamera bereit, die Kamerabilddaten liefert. Wenn Daten von mehreren Kameras stammen, müssen alle in der Liste enthalten sein.
Stellen Sie sicher, dass der Wert korrekt ist, wennCameraFrameStarted true ist.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble() abgerufen.
Stellt Systemanzeigeinformationen bereit. Sie könnenDefaultSystemDisplay oderDefaultHMDDisplay für Standardanzeigeinformationen verwenden.
protected override IDisplay Display { get; }
FrameRateRange
Bildratenbereich. Nur verfügbar, wennOpened true ist.
public Vector2 FrameRateRange { get; }
IsAvailable
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble() abgerufen.
Ob die aktuelle Framequelle verfügbar ist.
Falls der Wert null ist, wirdCheckAvailability() aufgerufen, und der Wert wird nach Abschluss derCoroutine abgerufen.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble() 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 Kamerarendering verarbeiten, insbesondere im VST-Modus.
protected override bool IsCameraUnderControl { get; }
IsHMD
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendAssemble() abgerufen.
Ob die aktuelle Framequelle ein Head-Mounted-Display ist. Falls ja, werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.
Einige Framefilter 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, wennOpened true ist.
public Optional<Vector2Int> Size { get; }
Methoden
Close()
Schließt das Gerät.
public void Close()
OnSessionStart(ARSession)
Nur bei Erstellung einer neuen Framequelle verfügbar. Wird nur währendStartSession() abgerufen.
Verarbeitet den Session-Start, wenn diese Framequelle inAssembly integriert ist. 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 Framequelle verfügbar. Wird währendStopSession(bool) oder anderen Session-Stopp-/Fehlerprozessen abgerufen.
Verarbeitet den Session-Stopp, wenn diese Framequelle inAssembly integriert ist. Hiermit können Sie inStartSession() und während des Session-Betriebs erstellte Ressourcen zerstören sowie den internen Status wiederherstellen. Diese Methode wird garantiert vor der Session-Zerstörung aufgerufen. Wenn die Framequelle 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. WennOpen() undClose() nicht manuell aufgerufen werden, erfolgt automatischOpen() nach dem Start vonARSession.
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