Class ARCoreFrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Componente MonoBehaviour para controlar el dispositivo de cámara ARCore (easyar.ARCoreCameraDevice) en la escena, proporcionando extensiones de funcionalidad en el entorno Unity.
Esta fuente-de-fotogramas es un dispositivo-de-seguimiento-de-movimiento que proporciona datos de movimiento en la ARSession.
public class ARCoreFrameSource : FrameSource
- Herencia
-
ARCoreFrameSource
- Miembros heredados
Campos
DesiredFocusMode
Modo de enfoque deseado. Solo es efectivo si se modifica antes del evento DeviceOpened o antes de OnEnable.
Nota: Debido a limitaciones de hardware o del sistema, el interruptor de enfoque podría no funcionar en algunos dispositivos.
public ARCoreCameraDeviceFocusMode DesiredFocusMode
Propiedades
Camera
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de 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 un visor, esta cámara solo se usa para mostrar texto de diagnóstico frente a los ojos, no para renderizar la imagen principal, y la cámara no está controlada por EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa a la Camera, válida solo si no se usa Unity XR Origin. Si no está establecida, se usará Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Solo se proporciona al crear una nueva fuente-de-fotogramas. Se accede durante todo el ciclo de vida de la ARSession.
¿Ha comenzado la entrada de fotogramas de la cámara?
protected override bool CameraFrameStarted { get; }
DeviceCameras
Solo se proporciona al crear una nueva fuente-de-fotogramas. Se accede cuando CameraFrameStarted es true.
Proporciona las cámaras físicas del dispositivo que entregan los datos de los fotogramas. Si los datos provienen de múltiples cámaras, la lista debe contenerlas todas.
Asegúrate de que el valor sea correcto cuando CameraFrameStarted sea true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de 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; }
FrameRateRange
Rango de frecuencia de fotogramas. Disponible solo cuando Opened es true.
public Vector2 FrameRateRange { get; }
IsAvailable
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de Assemble().
¿Está disponible esta fuente-de-fotogramas?
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
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de 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 un visor, debe ser false. Debes tener control total sobre 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
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de Assemble().
¿Es esta fuente-de-fotogramas un visor de realidad virtual? Si es un visor, la información de diagnóstico se mostrará en un panel 3D flotante frente a la cámara.
Algunos filtros-de-fotogramas se comportan de manera diferente cuando se ejecutan en un dispositivo visor.
protected override bool IsHMD { get; }
Opened
¿Está abierta la cámara?
public bool Opened { get; }
Size
Tamaño actual de la imagen. Disponible solo cuando Opened es true.
public Vector2Int Size { get; }
Métodos
Close()
Cierra el dispositivo.
public void Close()
OnSessionStart(ARSession)
Solo se proporciona al crear una nueva fuente-de-fotogramas. Solo se accede durante el proceso de StartSession().
Maneja el inicio de la sesión, si esta fuente-de-fotogramas está ensamblada en el Assembly. Este método está diseñado para inicialización diferida; puedes realizar trabajos de inicialización específicos de AR aquí.
protected override void OnSessionStart(ARSession session)
Parámetros
session
OnSessionStop()
Solo se proporciona al crear una nueva fuente-de-fotogramas. 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-fotogramas está ensamblada en el 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 que se llamará a este método antes de que se destruya la sesión. Si la fuente-de-fotogramas se destruye antes que la sesión, este método no se llamará y la sesión se dañará.
protected override void OnSessionStop()
Open()
Abre el dispositivo. Si no se llama manualmente a Open() y Close(), se abrirá automáticamente después de iniciar la ARSession.
public void Open()
Eventos
DeviceClosed
Evento de cierre del dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento de apertura del dispositivo. El valor bool indica si tuvo éxito.
public event Action<bool, PermissionStatus, string> DeviceOpened