Class ExternalDeviceRotationFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Stellt eine Rahmenquelle für externe Geräte mit 3DOF-Rotationsverfolgungsfähigkeiten dar. Bezieht sich typischerweise auf kopfmontierte Geräte, bei denen Kamerawiedergabe und Geräteverfolgung vom Geräte-SDK durchgeführt werden.
Diese Rahmenquelle ist ein 3DOF-Rotationsverfolgungsgerät, das in ARSession Rotationsdaten ausgibt.
Du kannst es durch Vererbung implementieren, um Eingaben für Geräte wie Head-Mounted-Displays zu realisieren, aber du musst die Tracking-Funktionalität selbst implementieren. Die 3DOF-Rotationsverfolgung von EasyAR kann nicht direkt auf externen Geräten verwendet werden. Du musst Bild- und Rotationsdaten selbst von der Hardware oder anderen Stellen abrufen und in EasyAR eingeben. EasyAR bietet nicht die Fähigkeit, diese Daten abzurufen, sondern bietet die Fähigkeit, nachdem diese Daten in EasyAR eingegeben wurden, EasyAR-Funktionen auszuführen.
Beim Verwenden von Testprodukten (wie Personal-Lizenz, Testversion der XR-Lizenz oder Testversion des Mega-Dienstes usw.) auf benutzerdefinierten Kameras oder Head-Mounted-Displays stoppt EasyAR-Sense nach jedem Start für eine festgelegte begrenzte Zeit die Reaktion.
public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
- Vererbung
-
ExternalDeviceRotationFrameSource
- Geerbte Mitglieder
Methoden
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)
Eingabe von Kameraframedaten.
Es wird empfohlen, Daten mit 30 oder 60 fps einzugeben. Die minimal akzeptable Bildrate = 2, aber die Antwortzeit einiger Algorithmen kann beeinträchtigt werden. Es kann in jedem Thread aufgerufen werden, solange deine APIs threadsicher sind. Diese Daten müssen mit den Daten übereinstimmen, wenn der Kamerasensor belichtet wird. Wenn möglich, wird empfohlen, Farbdaten in EasyAR-Sense einzugeben, was für den Effekt von EasyAR-Mega hilfreich ist. Für optimale Effizienz kannst du die gesamte Datenkette so gestalten, dass Roh-YUV-Daten direkt über Shared-Memory durchgereicht und mit Datenzeigern direkt an EasyAR-Sense übergeben werden. Bitte beachte die Datenverantwortung.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)
Parameter
deviceCameratimestampimagecameraParametersdeviceRotation
HandleRenderFrameData(double, Quaternion)
Eingabe von Rendering-Framedaten.
Stelle sicher, dass du nach dem Bereitstellen der Gerätedaten für jeden Frame aufrufst und keine Frames überspringst. Diese Daten müssen mit den Daten übereinstimmen, die die aktuelle Unity-Rendering-Kamera im selben Frame antreiben.
protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)
Parameter
timestamprotation