Class ExternalDeviceMotionFrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Representa una fuente de fotogramas para dispositivos externos con capacidad de seguimiento de movimiento. Normalmente se refiere a dispositivos montados en la cabeza (HMD), donde tanto la renderización de la cámara como el seguimiento del dispositivo se realizan mediante el SDK del dispositivo.
Esta fuente de fotogramas es un dispositivo de seguimiento de movimiento que proporcionará datos de movimiento en un ARSession.
Puedes implementar entradas de dispositivos como HMD heredando de esta clase, pero debes implementar tú mismo la funcionalidad de seguimiento de movimiento. El seguimiento de movimiento de EasyAR no se puede utilizar directamente en dispositivos externos. Necesitas obtener tú mismo las imágenes y los datos de pose del hardware u otras fuentes y alimentarlos a EasyAR. EasyAR no proporciona la capacidad de adquirir estos datos, pero sí la capacidad de ejecutar sus funciones una vez que estos datos se introducen en EasyAR.
Cuando se utilizan productos de prueba (licencia Personal Edition, licencia XR de prueba o servicio Mega de prueba, etc.) con una cámara personalizada o un HMD, EasyAR Sense dejará de responder después de un tiempo fijo y limitado tras cada inicio.
public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- Herencia
-
ExternalDeviceMotionFrameSource
- Derived
- Miembros heredados
Métodos
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
Ingresar datos de frame de cámara.
Se recomienda ingresar datos a 30 o 60fps. La tasa de fotogramas mínima aceptable = 2, pero el tiempo de respuesta de algunos algoritmos se verá afectado. Se puede llamar en cualquier hilo, siempre que tus API sean seguras para hilos. Estos datos deben coincidir con los datos cuando el sensor de la cámara está expuesto. Siempre que sea posible, se recomienda ingresar datos en color a EasyAR Sense, lo que es beneficioso para el efecto de EasyAR Mega. Para lograr la máxima eficiencia, puedes diseñar toda la cadena de datos para que los datos YUV originales pasen directamente a través de memoria compartida y se ingresen a EasyAR Sense usando un puntero de datos directamente. Ten en cuenta la propiedad de los datos.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
Parámetros
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
Ingresar datos de frame de renderizado.
Asegúrate de llamar cada frame después de que los datos del dispositivo estén listos, sin saltar frames. Estos datos deben coincidir con los datos de la cámara de renderizado actual de Unity que impulsa el mismo frame.
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
Parámetros
timestampposetrackingStatus