Table of Contents

Class ExternalDeviceRotationFrameSource

Espacio de nombres
easyar
Ensayo
EasyAR.Sense.dll

Representa una fuente de frame para dispositivos externos con capacidad de seguimiento de rotación 3DOF. Normalmente se refiere a dispositivos de cabeza, donde el renderizado de la cámara y el seguimiento del dispositivo se realizan mediante el SDK del dispositivo.

Esta fuente de frame es un dispositivo de seguimiento de rotación 3DOF que en ARSession emitirá datos de rotación.

Puedes implementar entradas de dispositivos como visores de cabeza heredándolo, pero debes completar la función de seguimiento tú mismo. El seguimiento de rotación 3DOF de EasyAR no se puede usar directamente en dispositivos externos. Necesitas obtener imágenes y datos de rotación del hardware u otros lugares e ingresarlos a EasyAR tú mismo. EasyAR no proporciona la capacidad de obtener estos datos, pero sí la capacidad de ejecutar funciones de EasyAR después de ingresar estos datos.

Al usar productos de prueba (como licencia personal, licencia XR de prueba o servicio Mega de prueba, etc.) en cámaras personalizadas o visores de cabeza, EasyAR Sense dejará de responder después de un tiempo limitado fijo cada vez que se inicie.

public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
Herencia
ExternalDeviceRotationFrameSource
Miembros heredados

Métodos

HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)

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, Quaternion deviceRotation)

Parámetros

deviceCamera
timestamp
image
cameraParameters
deviceRotation

HandleRenderFrameData(double, Quaternion)

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, Quaternion rotation)

Parámetros

timestamp
rotation