Table of Contents

Class FrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Eine Frame-Quelle repräsentiert die Datenquelle für die Eingabedaten eines Frames und liefert Bilddaten oder gleichzeitig Bewegungsdaten.

Sie können eine benutzerdefinierte Kamera implementieren, indem Sie von einigen Untertypen von FrameSource erben, aber Sie können nicht direkt von FrameSource erben. Eine benutzerdefinierte Kamera stellt typischerweise ein neues Gerät oder eine neue Art der Dateneingabe dar.

Bei Verwendung von Testprodukten (Personal-Lizenz, Test-XR-Lizenz oder Test-Mega-Dienst usw.) auf einer benutzerdefinierten Kamera oder einem Head-Mounted-Display stoppt EasyAR Sense nach jedem Start nach einer festgelegten, begrenzten Zeit die Reaktion.

[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
Vererbung
FrameSource
Derived

Eigenschaften

AvailableCenterMode

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

Alle verfügbaren Zentrumsmodi.

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

Camera

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

Auf Desktop-Geräten oder Handys repräsentiert diese Kamera das virtuelle Gegenstück der realen Kameraeinrichtung in der realen Umgebung, 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 abstract Camera Camera { get; }

CameraFrameStarted

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird während der gesamten Lebensdauer der ARSession abgerufen.

Ob die Kamera-Frame-Eingabe begonnen hat.

protected abstract bool CameraFrameStarted { get; }

DeviceCameras

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird abgerufen, wenn CameraFrameStarted wahr 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 wahr ist.

protected abstract List<FrameSourceCamera> DeviceCameras { get; }

Display

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

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

protected abstract IDisplay Display { get; }

IsAvailable

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

Ob die aktuelle Frame-Quelle verfügbar ist.

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

protected abstract Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

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

Bei der Erstellung einer Head-Mounted-Display-Erweiterung sollte dies falsch sein. Sie sollten die 3D-Kamera in der Szene vollständig steuern. Sie sollten das Kamerarendering verarbeiten, insbesondere im VST-Modus.

protected abstract bool IsCameraUnderControl { get; }

IsHMD

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

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 abstract bool IsHMD { get; }

Methoden

CheckAvailability()

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des Assemble()-Vorgangs abgerufen.

Die Coroutine, die verwendet wird, um zu prüfen, ob die Frame-Quelle verfügbar ist, wenn IsAvailable gleich null ist.

protected virtual IEnumerator CheckAvailability()

OnSessionStart(ARSession)

Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während des StartSession()-Vorgangs abgerufen.

Verarbeitet den Start der Session, wenn diese Frame-Quelle in Assembly eingebaut wurde. Diese Methode ist für die verzögerte Initialisierung konzipiert. Hier können Sie AR-spezifische Initialisierungsarbeiten durchführen.

protected abstract 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ädigungsvorgängen abgerufen.

Verarbeitet das Stoppen der Session, wenn diese Frame-Quelle in Assembly eingebaut wurde. Sie können diese Methode verwenden, um durch StartSession() und während des Session-Betriebs erstellte Ressourcen zu zerstören und den internen Zustand wiederherzustellen. 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 abstract void OnSessionStop()