Class XREALFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Steuert die XREAL-Kameraeinrichtung in der Szene (easyar.XREALCameraDevice) durch MonoBehaviour und bietet Funktionserweiterungen in der Unity-Umgebung.
Diese Bildquelle ist ein Bewegungstrackingsgerät, das in der ARSession Bewegungsdaten ausgibt.
Bei Verwendung von Testprodukten (z.B. Personal Edition-Lizenz, Testversion der XR-Lizenz oder Testversion des Mega-Service) auf benutzerdefinierten Kameras oder Headsets reagiert EasyAR Sense nach jedem Start für einen festgelegten, begrenzten Zeitraum nicht mehr.
public class XREALFrameSource : FrameSource
- Vererbung
-
XREALFrameSource
Eigenschaften
AvailableCenterMode
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Alle verfügbaren Zentrumsmodi.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
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 echten Kamera und werden von EasyAR gesteuert. Auf Headsets dient diese Kamera nur dazu, Diagnosetext vor den Augen anzuzeigen, nicht zur Bildrendering. Die Kamera wird auch nicht von EasyAR gesteuert.
protected override Camera Camera { get; }
CameraFrameStarted
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird während der gesamten Lebensdauer der ARSession abgefragt.
Ob die Kameraframe-Eingabe gestartet wurde.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird abgefragt, 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 beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Stellt die Anzeigesysteminformationen bereit. Sie können DefaultSystemDisplay oder DefaultHMDDisplay verwenden, um die Standardanzeigeinformationen zu erhalten.
protected override IDisplay Display { get; }
FrameRate
Bildratenbereich. Nur verfügbar, wenn Opened true ist.
public double FrameRate { get; }
IsAvailable
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Ob die aktuelle Bildquelle verfügbar ist.
Ist der Wert gleich null, wird CheckAvailability() aufgerufen, und der Wert wird nach Abschluss der Coroutine abgerufen.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Wenn der Wert true ist, aktualisiert die Session das Transform der Kamera und rendert das Kamerabild.
Beim Erstellen einer Headset-Erweiterung sollte dies false sein. Sie sollten die 3D-Kamera in der Szene vollständig kontrollieren. Sie sollten das Kamerarendering verarbeiten, insbesondere im VST-Modus.
protected override bool IsCameraUnderControl { get; }
IsHMD
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Ob die aktuelle Bildquelle ein Headset ist. Bei einem Headset werden Diagnoseinformationen auf einer 3D-Platine vor der Kamera angezeigt.
Einige Bildfilter verhalten sich auf Geräten unterschiedlich.
protected override bool IsHMD { get; }
Opened
Ob die Kamera geöffnet ist.
public bool Opened { get; }
ReceivedFrameCount
Anzahl der erfassten Frames. Wird normalerweise zu Debugging-Zwecken verwendet. Bleibt dieser Wert konstant, liegt meist ein Hardwareproblem vor; erneutes Einstecken kann eine Lösung sein.
public int ReceivedFrameCount { get; }
Size
Aktuelle Bildgröße. Nur verfügbar, wenn Opened true ist.
public Vector2Int Size { get; }
Methoden
CheckAvailability()
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des Assemble()-Prozesses abgefragt.
Coroutine, die verwendet wird, um zu prüfen, ob die Bildquelle verfügbar ist, wenn IsAvailable gleich null ist.
protected override IEnumerator CheckAvailability()
Close()
Schließt das Gerät.
public void Close()
OnSessionStart(ARSession)
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird nur während des StartSession()-Prozesses abgefragt.
Verarbeitet den Session-Start, wenn diese Bildquelle in die Assembly eingebaut wurde. Diese Methode ist für verzögerte Initialisierung vorgesehen; Sie können hier AR-spezifische Initialisierungsarbeiten durchführen.
protected override void OnSessionStart(ARSession session)
Parameter
session
OnSessionStop()
Wird nur beim Erstellen einer neuen Bildquelle bereitgestellt. Es wird während StopSession(bool) oder anderer Session-Stopp-/Beschädigungsprozesse abgefragt.
Verarbeitet das Session-Ende, wenn diese Bildquelle in die Assembly eingebaut wurde. Sie können diese Methode verwenden, um Ressourcen zu zerstören, die in StartSession() und während der Session-Laufzeit erstellt wurden, und den internen Status wiederherzustellen. Diese Methode wird garantiert aufgerufen, bevor die Session zerstört wird. Wird die Bildquelle vor der Session zerstört, 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, wird automatisch Open() ausgeführt, nachdem die ARSession gestartet wurde.
public void Open()
Ereignisse
DeviceClosed
Ereignis beim Schließen des Geräts.
public event Action DeviceClosed
DeviceOpened
Ereignis beim Öffnen des Geräts, der Bool-Wert gibt an, ob es erfolgreich war.
public event Action<bool, PermissionStatus, string> DeviceOpened