Class XREALFrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Componente MonoBehaviour para controlar dispositivos de cámara XREAL (easyar.XREALCameraDevice) en la escena, proporcionando extensiones de funcionalidad en entornos Unity.
Esta fuente de frames es un dispositivo de seguimiento de movimiento que proporciona datos de movimiento en ARSession.
Al usar productos de prueba (licencia personal, licencia XR de prueba o servicio Mega de prueba, etc.) en cámaras o dispositivos de visualización montados en la cabeza personalizados, EasyAR Sense dejará de responder después de un tiempo limitado fijo tras cada inicio.
public class XREALFrameSource : FrameSource
- Herencia
-
XREALFrameSource
Propiedades
AvailableCenterMode
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Todos los modos de centro disponibles para usar.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
En dispositivos de escritorio o móviles, esta cámara representa el Camera correspondiente en el mundo virtual al dispositivo de cámara física, su matriz de proyección y posición se corresponderán con la cámara real, controlada por EasyAR. En dispositivos montados en la cabeza, esta cámara solo se usa para mostrar texto de diagnóstico frente al usuario, no para renderizar la escena, y no está controlada por EasyAR.
protected override Camera Camera { get; }
CameraFrameStarted
Proporcionado solo al crear una nueva fuente de frames. Se accede durante todo el ciclo de vida de ARSession.
Indica si ha comenzado la entrada de frames de cámara.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Proporcionado solo al crear una nueva fuente de frames. Se accede cuando CameraFrameStarted es true.
Proporciona la(s) cámara(s) del dispositivo que suministra(n) los datos del frame de cámara. Si los datos del frame provienen de múltiples cámaras, la lista debe contener todas.
Asegúrate de que el valor sea correcto cuando CameraFrameStarted sea true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Proporciona información del sistema de visualización. Puedes usar DefaultSystemDisplay o DefaultHMDDisplay para obtener la información de visualización predeterminada.
protected override IDisplay Display { get; }
FrameRate
Rango de velocidad de fotogramas. Disponible solo cuando Opened es true.
public double FrameRate { get; }
IsAvailable
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Indica si esta fuente de frames está disponible.
Si el valor es null, se llamará a CheckAvailability(), y el valor se obtendrá después de que finalice la Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Cuando es true, la sesión actualizará el transform de la cámara y renderizará la imagen de la cámara.
Al crear una extensión para dispositivos montados en la cabeza, debe ser false. Debes controlar completamente la cámara 3D en la escena. Debes manejar el renderizado de la cámara, especialmente en modo VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Indica si esta fuente de frames es un dispositivo montado en la cabeza. Si lo es, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.
Algunos filtros de frames funcionan de manera diferente en dispositivos montados en la cabeza.
protected override bool IsHMD { get; }
Opened
Indica si la cámara está abierta.
public bool Opened { get; }
ReceivedFrameCount
Recuento de frames obtenidos. Normalmente usado en depuración. Si este valor deja de aumentar, suele ser un problema de hardware; reconectar puede resolverlo.
public int ReceivedFrameCount { get; }
Size
Tamaño actual de la imagen. Disponible solo cuando Opened es true.
public Vector2Int Size { get; }
Métodos
CheckAvailability()
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante Assemble().
Coroutine utilizada para verificar la disponibilidad de la fuente de frames cuando IsAvailable es null.
protected override IEnumerator CheckAvailability()
Close()
Cierra el dispositivo.
public void Close()
OnSessionStart(ARSession)
Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante StartSession().
Maneja el inicio de la sesión si esta fuente de frames se ha ensamblado en Assembly. Este método está diseñado para inicialización diferida; aquí puedes realizar trabajos de inicialización específicos de AR.
protected override void OnSessionStart(ARSession session)
Parámetros
session
OnSessionStop()
Proporcionado solo al crear una nueva fuente de frames. Se accede durante StopSession(bool) u otros procesos de detención/daño de la sesión.
Maneja la detención de la sesión si esta fuente de frames se ha ensamblado en Assembly. Puedes usar este método para destruir recursos creados durante StartSession() y el funcionamiento de la sesión, y restaurar el estado interno. Se garantiza su llamada antes de destruir la sesión. Si la fuente de frames se destruye antes que la sesión, no se llamará y la sesión quedará dañada.
protected override void OnSessionStop()
Open()
Abre el dispositivo. Si no se llama manualmente a Open() y Close(), ARSession abrirá automáticamente al iniciarse.
public void Open()
Eventos
DeviceClosed
Evento de cierre del dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento de apertura del dispositivo, el valor booleano indica si fue exitoso.
public event Action<bool, PermissionStatus, string> DeviceOpened