Table of Contents

Class ThreeDofCameraDeviceFrameSource

Espacio de nombres
easyar
Ensayo
EasyAR.Sense.dll

Un MonoBehaviour que controla un dispositivo de cámara 3DOF (ThreeDofCameraDeviceFrameSource) en la escena, proporcionando extensiones de funcionalidad en el entorno de Unity.

Esta fuente de fotogramas es un dispositivo de seguimiento de rotación 3DOF que emite datos de rotación en una ARSession.

public class ThreeDofCameraDeviceFrameSource : FrameSource
Herencia
ThreeDofCameraDeviceFrameSource
Miembros heredados

Campos

DesiredFocusMode

El 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 puede no funcionar en algunos dispositivos.

public ThreeDofCameraDeviceFocusMode DesiredFocusMode

Propiedades

Camera

Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso Assemble().

En dispositivos de escritorio o móviles, esta cámara representa la 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 HMDs, esta cámara se usa solo para mostrar texto de diagnóstico frente a los ojos, no para renderizar la imagen principal; la cámara no está controlada por EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera, válida solo cuando no se utiliza Unity XR Origin. Si no se establece, se usará Camera.main.

public Camera CameraCandidate { get; set; }

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; }

DesiredSize

Tamaño de imagen de cámara deseado. Solo es efectivo si se modifica antes del evento DeviceOpened.

Se utilizará el tamaño más cercano en valor dentro de SupportedSize. Si no se establece, se usará el valor predeterminado.

public Optional<Vector2Int> DesiredSize { get; set; }

DeviceCameras

Proporcionado solo al crear una nueva fuente de fotogramas. Se accede solo cuando CameraFrameStarted es true.

Proporciona la(s) cámara(s) del dispositivo que entregan los datos del fotograma de la cámara. Si los datos del fotograma provienen de múltiples cámaras, la lista debe contenerlas todas.

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 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. Solo disponible cuando Opened es true.

public Vector2 FrameRateRange { get; }

IsAvailable

Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso Assemble().

Indica si esta fuente de fotogramas 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 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 HMD, 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

Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso Assemble().

Indica si esta fuente de fotogramas es un HMD. Si es un HMD, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.

Algunos filtros de fotogramas pueden comportarse de manera diferente en dispositivos HMD.

protected override bool IsHMD { get; }

Opened

Indica si la cámara está abierta.

public bool Opened { get; }

Size

Tamaño de imagen actual. Solo disponible cuando Opened es true.

El setter utilizará el tamaño más cercano en valor dentro de SupportedSize.

Si se modifica el tamaño de imagen durante la grabación con FrameRecorder, los datos de grabación dejarán de actualizarse; será necesario cerrar y volver a grabar.

public Vector2Int Size { get; set; }

SupportedSize

Todos los tamaños de imagen soportados por el dispositivo actual. Solo disponible cuando Opened es true.

public List<Vector2Int> SupportedSize { 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 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 la inicialización diferida; aquí puede 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. Puede usar este método para destruir recursos creados durante StartSession() y 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 al 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 fue exitoso.

public event Action<bool, PermissionStatus, string> DeviceOpened