Table of Contents

Class AREngineFrameSource

Espacio de nombres
easyar
Ensayo
EasyAR.Sense.dll

Conecta la salida del dispositivo de cámara AREngine a la fuente de frames personalizada de entrada de EasyAR en la escena. Proporciona soporte para Huawei AR Engine mediante la función de cámara personalizada de EasyAR Sense.

Esta fuente de frames es un dispositivo de seguimiento de movimiento que produce datos de movimiento en ARSession.

Esta fuente de frames no utiliza ``Huawei AR Engine Unity SDK`` y no requiere instalación.

public class AREngineFrameSource : FrameSource
Herencia
AREngineFrameSource
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 sistema, el interruptor de enfoque puede ser inefectivo en algunos dispositivos.

public AREngineCameraDeviceFocusMode DesiredFocusMode

Propiedades

Camera

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

En escritorio o móviles, esta cámara representa el Camera equivalente al dispositivo físico en el mundo virtual. Su matriz de proyección y posición corresponderán a la cámara real, controlada por EasyAR. En visores, solo muestra texto diagnóstico frente al usuario, no renderiza imágenes, y no está controlada por EasyAR.

protected override Camera Camera { get; }

CameraCandidate

Alternativa a Camera, solo efectiva si no se usa Unity XR Origin. Si no está establecido, usará Camera.main.

public Camera CameraCandidate { get; set; }

CameraFrameStarted

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

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

protected override bool CameraFrameStarted { get; }

DeviceCameras

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

Proporciona el dispositivo de cámara que emite los frames. Si los datos provienen de múltiples cámaras, la lista debe incluirlas todas.

Asegurar 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. Se puede usar DefaultSystemDisplay o DefaultHMDDisplay para obtener la configuració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 frames. Solo se accede durante Assemble().

Indica si la fuente de frames actual está disponible.

Si el valor es null, se llamará a CheckAvailability(). El valor se obtendrá tras finalizar la Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

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

Si es true, la sesión actualizará el transform de la cámara y renderizará su imagen.

Al crear extensiones para visores, debe ser false. Se debe tener control total sobre la cámara 3D en escena, 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 la fuente de frames actual es para un visor (head-mounted). Si es así, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.

Algunos filtros de frames funcionan diferente en estos dispositivos.

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 Optional<Vector2Int> Size { get; }

Métodos

Close()

Cierra el dispositivo.

public void Close()

OnSessionStart(ARSession)

Proporcionado solo al crear una nueva fuente de frames. Solo se accede durante StartSession().

Gestiona el inicio de la sesión si esta fuente de frames está ensamblada en Assembly. Diseñado para inicialización diferida, permite realizar tareas específicas 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 sesión.

Gestiona la detención de sesión si esta fuente de frames está ensamblada en Assembly. Permite destruir recursos creados durante StartSession() y restaurar el estado interno. Garantizada su ejecución antes de destruir la sesión. Si la fuente de frames se destruye antes, 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() o Close(), ARSession lo 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