Class ExternalDeviceRotationFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Eine frame source, die ein externes Geraet mit 3DOF rotation tracking-Faehigkeit darstellt. Sie stellt normalerweise ein head-mounted device dar, bei dem camera rendering und device tracking vom Geraete-SDK ausgefuehrt werden.
Diese frame source ist ein 3DOF rotation tracking-Geraet und gibt Rotationsdaten in ARSession aus.
Sie koennen davon erben, um Geraeteeingaben wie headset zu implementieren, muessen tracking jedoch selbst implementieren. EasyAR 3DOF rotation tracking kann nicht direkt auf externen Geraeten verwendet werden. Sie muessen Bild- und Rotationsdaten selbst von Hardware oder anderen Quellen abrufen und in EasyAR eingeben. EasyAR stellt keine Faehigkeit zum Erfassen dieser Daten bereit, aber die Faehigkeit, EasyAR-Funktionen nach der Eingabe der Daten in EasyAR auszufuehren.
Wenn trial-Produkte wie personal license, trial XR license oder trial Mega service auf einer custom camera oder einem headset verwendet werden, reagiert EasyAR Sense nach jedem Start fuer eine feste begrenzte Zeit nicht.
public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
- Vererbung
-
ExternalDeviceRotationFrameSource
- Geerbte Mitglieder
Methoden
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)
Gibt camera frame-Daten ein.
Es wird empfohlen, Daten mit 30 oder 60 fps einzugeben. Die minimal akzeptable frame rate ist 2, aber die Reaktionszeit einiger Algorithmen wird beeinflusst. Es kann aus jedem Thread aufgerufen werden, solange Ihre APIs thread-safe sind. Diese Daten muessen mit den Daten zum Zeitpunkt der Belichtung des camera sensor uebereinstimmen. Wenn verfuegbar, wird empfohlen, Farbdaten in EasyAR Sense einzugeben, was dem Effekt von EasyAR Mega hilft. Fuer beste Effizienz koennen Sie die gesamte Datenkette so entwerfen, dass raw YUV data direkt ueber shared memory durchgereicht und direkt mit einem data pointer an EasyAR Sense uebergeben werden. Achten Sie auf die Daten-Eigentuemerschaft.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)
Parameter
deviceCameratimestampimagecameraParametersdeviceRotation
HandleRenderFrameData(double, Quaternion)
Gibt rendering frame-Daten ein.
Stellen Sie sicher, dass es jedes Frame aufgerufen wird, nachdem die Geraetedaten bereit sind. Frames duerfen nicht uebersprungen werden. Diese Daten muessen mit den Daten der aktuellen Unity-Rendering-camera im selben vom Geraet gesteuerten Frame uebereinstimmen.
protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)
Parameter
timestamprotation