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()