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