Class ExternalDeviceMotionFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Eine frame source, die ein externes Geraet mit motion 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 motion tracking-Geraet und gibt Bewegungsdaten in ARSession aus.
Sie koennen davon erben, um Geraeteeingaben wie headset zu implementieren, muessen motion tracking jedoch selbst implementieren. EasyAR motion tracking kann nicht direkt auf externen Geraeten verwendet werden. Sie muessen Bild- und pose-Daten 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 ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- Vererbung
-
ExternalDeviceMotionFrameSource
- Derived
- Geerbte Mitglieder
Methoden
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
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, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
Parameter
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
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, Pose pose, MotionTrackingStatus trackingStatus)
Parameter
timestampposetrackingStatus