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 desAssemble()-Prozesses 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 desAssemble()-Prozesses abgerufen.
Auf Desktop-Geräten oder Mobiltelefonen repräsentiert diese Kamera dasCamera in der virtuellen Welt, das dem realen Kameragerät in der physischen Umgebung entspricht. Ihre Projektionsmatrix und Position entsprechen der echten Kamera und werden von EasyAR gesteuert. Auf einem Head-Mounted-Display dient diese Kamera nur dazu, einige Diagnosetexte 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 desARSession abgerufen.
Ob die Kameraframe-Eingabe begonnen hat.
protected abstract bool CameraFrameStarted { get; }
DeviceCameras
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird abgerufen, wennCameraFrameStarted 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, wennCameraFrameStarted wahr ist.
protected abstract List<FrameSourceCamera> DeviceCameras { get; }
Display
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.
Stellt Systemanzeigeinformationen bereit. Sie könnenDefaultSystemDisplay oderDefaultHMDDisplay verwenden, um Standardanzeigeinformationen zu erhalten.
protected abstract IDisplay Display { get; }
IsAvailable
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.
Ob die aktuelle Frame-Quelle verfügbar ist.
Wenn der Wert null ist, wirdCheckAvailability() aufgerufen und der Wert wird nach Abschluss derCoroutine abgerufen.
protected abstract Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desAssemble()-Prozesses abgerufen.
Wenn der Wert wahr ist, aktualisiert die Sitzung die Transformation 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 kontrollieren. Sie sollten das Kamera-Rendering handhaben, 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 desAssemble()-Prozesses 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 desAssemble()-Prozesses abgerufen.
Coroutine zum Überprüfen der Verfügbarkeit der Frame-Quelle, wennIsAvailable null ist.
protected virtual IEnumerator CheckAvailability()
OnSessionStart(ARSession)
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird nur während desStartSession()-Prozesses abgerufen.
Behandelt den Start der Sitzung, wenn diese Frame-Quelle inAssembly eingebunden wurde. Diese Methode ist für die verzögerte Initialisierung vorgesehen. Hier können AR-spezifische Initialisierungsarbeiten durchgeführt werden.
protected abstract void OnSessionStart(ARSession session)
Parameter
session
OnSessionStop()
Wird nur bei der Erstellung einer neuen Frame-Quelle bereitgestellt. Es wird währendStopSession(bool) oder anderen Sitzungsstopp-/Beschädigungsprozessen abgerufen.
Behandelt das Stoppen der Sitzung, wenn diese Frame-Quelle inAssembly eingebunden wurde. Mit dieser Methode können Ressourcen, die währendStartSession() und des Sitzungsbetriebs erstellt wurden, zerstört und der interne Status wiederhergestellt werden. Diese Methode wird garantiert aufgerufen, bevor die Sitzung zerstört wird. Wenn die Frame-Quelle vor der Sitzung zerstört wird, wird sie nicht aufgerufen und die Sitzung wird beschädigt.
protected abstract void OnSessionStop()