Class ARCoreFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Steuert das ARCore-Kameragerät (easyar.ARCoreCameraDevice) in der Szene als MonoBehaviour und bietet Funktionserweiterungen in der Unity-Umgebung.
Diese Frame-Quelle ist ein Bewegungsverfolgungsgerät, das Bewegungsdaten im ARSession ausgibt.
public class ARCoreFrameSource : FrameSource
- Vererbung
-
ARCoreFrameSource
- Geerbte Mitglieder
Felder
DesiredFocusMode
Der gewünschte Fokusmodus. Änderungen sind nur wirksam, bevor das DeviceOpened-Ereignis oder OnEnable auftritt.
Hinweis: Aufgrund von Hardware- oder Systembeschränkungen kann der Fokusschalter auf einigen Geräten unwirksam sein.
public ARCoreCameraDeviceFocusMode DesiredFocusMode
Eigenschaften
Camera
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während Assemble() abgerufen.
Auf Desktop-Geräten oder Handys repräsentiert diese Kamera das Camera in der virtuellen Welt, das dem realen Kameragerät entspricht. Ihre Projektionsmatrix und Position entsprechen der realen Kamera und werden von EasyAR gesteuert. Auf Head-Mounted-Displays dient diese Kamera nur zur Anzeige von Diagnosetext vor den Augen, nicht zum Rendern. Die Kamera wird nicht von EasyAR gesteuert.
protected override Camera Camera { get; }
CameraCandidate
Alternative für Camera, 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 Frame-Quelle verfügbar. Wird während der gesamten Lebensdauer von ARSession abgerufen.
Ob die Kamera-Frame-Eingabe begonnen hat.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur abgerufen, wenn CameraFrameStarted true ist.
Stellt die Gerätekamera bereit, die die Kameraframe-Daten liefert. Wenn Frame-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
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während Assemble() abgerufen.
Stellt Systemanzeigeinformationen bereit. Sie können DefaultSystemDisplay oder DefaultHMDDisplay für Standardanzeigeinformationen verwenden.
protected override IDisplay Display { get; }
FrameRateRange
Bildratenbereich. Nur verfügbar, wenn Opened true ist.
public Vector2 FrameRateRange { get; }
IsAvailable
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während Assemble() abgerufen.
Ob die aktuelle Frame-Quelle verfügbar ist.
Wenn der Wert null ist, wird CheckAvailability() aufgerufen. Der Wert wird nach Abschluss der Coroutine abgerufen.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während Assemble() 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 Kamera-Rendering verarbeiten, insbesondere im VST-Modus.
protected override bool IsCameraUnderControl { get; }
IsHMD
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während Assemble() abgerufen.
Ob die aktuelle Frame-Quelle ein Head-Mounted-Display ist. Bei Head-Mounted-Displays werden Diagnoseinformationen auf einer 3D-Tafel vor der Kamera angezeigt.
Einige Frame-Filter verhalten sich auf Geräten unterschiedlich.
protected override bool IsHMD { get; }
Opened
Ob die Kamera geöffnet ist.
public bool Opened { get; }
Size
Aktuelle Bildgröße. Nur verfügbar, wenn Opened true ist.
public Vector2Int Size { get; }
Methoden
Close()
Schließt das Gerät.
public void Close()
OnSessionStart(ARSession)
Nur bei Erstellung einer neuen Frame-Quelle verfügbar. Wird nur während StartSession() abgerufen.
Verarbeitet den Session-Start, wenn diese Frame-Quelle in Assembly integriert wurde. 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 Frame-Quelle verfügbar. Wird während StopSession(bool) oder anderen Session-Stopp-/Fehlerprozessen abgerufen.
Verarbeitet den Session-Stopp, wenn diese Frame-Quelle in Assembly integriert wurde. Hier können in StartSession() und während der Session erstellte Ressourcen zerstört sowie der interne Zustand wiederhergestellt werden. Diese Methode wird vor der Session-Zerstörung 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()
Open()
Öffnet das Gerät. Wenn Open() und Close() nicht manuell aufgerufen werden, erfolgt das Öffnen automatisch nach dem Start von ARSession.
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