Table of Contents

Class CameraDeviceFrameSource

Espacio de nombres
easyar
Ensayo
EasyAR.Sense.dll

Un MonoBehaviour que controla el easyar.CameraDevice en la escena, proporcionando extensiones funcionales en el entorno Unity.

Esta fuente de frames no es un dispositivo de seguimiento de movimiento y no generará datos de movimiento en ARSession.

[RequireComponent(typeof(CameraDeviceDisplay))]
public class CameraDeviceFrameSource : FrameSource
Herencia
CameraDeviceFrameSource
Derived
Miembros heredados

Campos

CameraOpenIndex

El índice del dispositivo utilizado al abrir la cámara. Se usa cuando CameraOpenMethod == DeviceIndex. Solo es efectivo si se modifica antes del evento DeviceOpened.

[HideInInspector]
[SerializeField]
public int CameraOpenIndex

CameraOpenMethod

El método utilizado para abrir la cámara. Solo es efectivo si se modifica antes del evento DeviceOpened.

[HideInInspector]
[SerializeField]
public CameraDeviceFrameSource.CameraDeviceOpenMethod CameraOpenMethod

CameraOpenType

El tipo de cámara utilizado al abrirla. Se usa cuando CameraOpenMethod == PreferredType o SpecificType. Solo es efectivo si se modifica antes del evento DeviceOpened.

[HideInInspector]
[SerializeField]
public CameraDeviceType CameraOpenType

Propiedades

AndroidCameraApiType

En Android, se puede usar para obtener la API de cámara utilizada (camera1 o camera2). Solo disponible cuando Opened es true.

public AndroidCameraApiType AndroidCameraApiType { get; }

AvailableCenterMode

Proporcionado solo al crear una nueva fuente de fotogramas. Solo se accede durante el proceso de 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 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 real. Su matriz de proyección y posición corresponderán a la cámara real, controlada por EasyAR. En un HMD, esta cámara solo se usa para mostrar texto de diagnóstico frente al usuario, no para renderizar la imagen, y no está controlada por EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera, si no se establece, se usará Camera.main.

public Camera CameraCandidate { get; set; }

CameraCount

Obtiene el número de cámaras reconocidas por el sistema operativo.

public static int CameraCount { get; }

CameraFrameStarted

Proporcionado solo al crear una nueva fuente de fotogramas. Se accede durante todo el ciclo de vida de la ARSession.

Indica si ha comenzado la entrada de fotogramas de la cámara.

protected override bool CameraFrameStarted { get; }

CameraType

Tipo de cámara. Solo disponible cuando Opened es true.

public CameraDeviceType CameraType { get; }

DesiredAndroidCameraApiType

API de cámara Android deseada, efectiva solo si se modifica antes del evento DeviceOpened.

Si no se establece, se seleccionará según DesiredCameraPreference.

public Optional<AndroidCameraApiType> DesiredAndroidCameraApiType { get; set; }

DesiredCameraPreference

Preferencias utilizadas al crear el dispositivo de cámara, efectivas solo si se modifican antes de iniciar la sesión.

public Optional<CameraDevicePreference> DesiredCameraPreference { get; set; }

DesiredFocusMode

Modo de enfoque deseado, efectivo solo si se modifica antes del evento DeviceOpened.

Nota: Debido a limitaciones de hardware o sistema, el interruptor de enfoque puede ser ineficaz en algunos dispositivos. Si no se establece, se seleccionará según DesiredCameraPreference.

public Optional<CameraDeviceFocusMode> DesiredFocusMode { get; set; }

DesiredSize

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

Se utilizará el tamaño más cercano en 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 cámara del dispositivo que suministra los datos del fotograma de la cámara. Si los datos 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 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; }

FocusMode

Modo de enfoque. Disponible solo cuando Opened es true.

public CameraDeviceFocusMode FocusMode { set; }

FrameRateRange

Rango de velocidad de fotogramas. Disponible solo cuando Opened es true.

public Vector2 FrameRateRange { get; }

FrameRateRangeIndex

Índice del rango de velocidad de fotogramas actual del dispositivo. Disponible solo cuando Opened es true.

public int FrameRateRangeIndex { get; set; }

Index

Índice de la cámara. Solo disponible cuando Opened es true.

public int Index { 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 actualiza el transform de la cámara y renderiza la imagen de la cámara.

Al crear una extensión para HMD, debe ser false. Debes controlar completamente la cámara 3D en la escena y manejar su renderizado, 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 (HMD). Si es un HMD, la información de diagnóstico se mostrará en un panel 3D delante de la cámara.

Algunos filtros de fotogramas se comportan de manera diferente cuando se ejecutan en dispositivos.

protected override bool IsHMD { get; }

Opened

Indica si la cámara está abierta.

public bool Opened { get; }

Parameters

Parámetros de la cámara. Disponible solo cuando Opened es true.

public CameraParameters Parameters { get; set; }

Size

Tamaño de imagen actual. Disponible solo cuando Opened es true.

El set utilizará el tamaño más cercano en SupportedSize.

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

public Vector2Int Size { get; set; }

SupportedFrameRateRange

Todos los rangos de velocidad de fotogramas admitidos por el dispositivo actual. Disponible solo cuando Opened es true.

public List<Vector2> SupportedFrameRateRange { get; }

SupportedSize

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

public List<Vector2Int> SupportedSize { get; }

enabled

La ARSession inicia/detiene la captura del flujo de video durante su ejecución. Tras iniciar la sesión, la captura comenzará solo cuando MonoBehaviour.enabled sea true.

public bool enabled { get; set; }

Métodos

AutoFocus()

Does auto focus once. It is only available when FocusMode is Normal or Macro.

public bool AutoFocus()

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 la 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 la Assembly. Puedes 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 su llamada antes de destruir la sesión. Si la fuente de fotogramas se destruye antes que la sesión, 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 se abrirá automáticamente después de iniciarse.

Solo se puede usar después de que la sesión se haya iniciado.

public void Open()

SetFlashTorch(bool)

Configurar el modo de luz de flash. Solo disponible cuando Opened es true.

public bool SetFlashTorch(bool on)

Parámetros

on

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

DeviceStateChanged

Evento de dispositivo inutilizable, como desconexión o expropiación (solo Windows).

public event Action<CameraState> DeviceStateChanged