Class VisionOSARKitFrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Componente MonoBehaviour para controlar el dispositivo de cámara VisionOS ARKit (easyar.VisionOSARKitCameraDevice) 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 una ARSession.
Cuando se utiliza un producto de prueba (licencia personal, licencia XR de prueba o servicio Mega de prueba, etc.) con una cámara o visor personalizado, EasyAR Sense dejará de responder después de un tiempo fijo y limitado tras cada inicio.
public class VisionOSARKitFrameSource : FrameSource
- Herencia
-
VisionOSARKitFrameSource
- Miembros heredados
Propiedades
AvailableCenterMode
Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de Assemble().
Todos los modos de centro disponibles.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Proporcionado solo 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 corresponderán a la cámara real y están controladas 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, y la cámara no está controlada por EasyAR.
protected override Camera Camera { get; }
CameraFrameStarted
Proporcionado solo al crear una nueva fuente de fotogramas. Se accede durante todo el ciclo de vida de ARSession.
Indica si ha comenzado la entrada de fotogramas de la cámara.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Proporcionado solo al crear una nueva fuente de fotogramas. Se accede cuando CameraFrameStarted es true.
Proporciona la(s) cámara(s) del dispositivo que suministra(n) los datos del fotograma de la cámara. Si los datos del fotograma provienen de múltiples cámaras, la lista debe contener todas ellas.
Asegúrese 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 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 velocidad de fotogramas. Disponible solo cuando Opened es true.
public Vector2 FrameRateRange { get; }
IsAvailable
Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de Assemble().
Indica si la fuente de fotogramas actual 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 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 visor, 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 fotogramas. Solo se accede durante el proceso de Assemble().
Indica si la fuente de fotogramas actual es un visor. Si es un visor, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.
Algunos filtros de fotogramas funcionan de manera diferente en el dispositivo.
protected override bool IsHMD { get; }
Opened
Indica si la cámara está abierta.
public bool Opened { get; }
Size
Tamaño de imagen actual. Disponible solo cuando Opened es true.
public Vector2Int Size { get; }
Métodos
Close()
Cierra el dispositivo.
public void Close()
OnSessionStart(ARSession)
Proporcionado solo 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 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 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 se ha ensamblado en Assembly. Puedes usar este método para destruir recursos creados durante StartSession() y en la ejecución de la sesión, y restaurar el estado interno. Se garantiza que este método se llamará antes de destruir 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(), ARSession abrirá automáticamente tras iniciarse.
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