Class FrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Un frame source representa una fuente de datos de entrada para fotogramas, proporcionando datos de imagen o datos de imagen y movimiento simultáneamente.
Puedes implementar una cámara personalizada heredando de algunos subtipos de FrameSource, pero no puedes heredar directamente de FrameSource. Una cámara personalizada generalmente representa un nuevo dispositivo o una nueva forma de entrada de datos.
Al utilizar productos de prueba (licencia Personal, licencia XR de prueba o servicio Mega de prueba, etc.) en una cámara o visor personalizados, EasyAR Sense dejará de responder después de un tiempo fijo y limitado tras cada inicio.
[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
- Herencia
-
FrameSource
- Derived
Propiedades
AvailableCenterMode
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de Assemble().
Todos los modos de centro disponibles.
protected virtual IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Proporcionado solo cuando se crea un nuevo frame source. 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 en el entorno real; su matriz de proyección y posición corresponderán a la cámara real, controlada por EasyAR. En visores, 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 abstract Camera Camera { get; }
CameraFrameStarted
Proporcionado solo cuando se crea un nuevo frame source. Se accede durante todo el ciclo de vida de ARSession.
Indica si ha comenzado la entrada de fotogramas de cámara.
protected abstract bool CameraFrameStarted { get; }
DeviceCameras
Proporcionado solo cuando se crea un nuevo frame source. Se accede cuando CameraFrameStarted es true.
Proporciona la cámara del dispositivo que suministra los datos del fotograma de cámara. Si los datos del fotograma de cámara son proporcionados por múltiples cámaras, la lista debe contener todas las cámaras.
Asegúrate de que el valor sea correcto cuando CameraFrameStarted sea true.
protected abstract List<FrameSourceCamera> DeviceCameras { get; }
Display
Proporcionado solo cuando se crea un nuevo frame source. 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 abstract IDisplay Display { get; }
IsAvailable
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de Assemble().
Indica si el frame source actual está disponible.
Si el valor es igual a null, se llamará a CheckAvailability() y el valor se obtendrá después de que finalice la Coroutine.
protected abstract Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de Assemble().
Cuando el valor 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 abstract bool IsCameraUnderControl { get; }
IsHMD
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de Assemble().
Indica si el frame source 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 frame filters se comportan de manera diferente cuando se ejecutan en un visor.
protected abstract bool IsHMD { get; }
Métodos
CheckAvailability()
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de Assemble().
Coroutine utilizada para verificar si el frame source está disponible cuando IsAvailable es igual a null.
protected virtual IEnumerator CheckAvailability()
OnSessionStart(ARSession)
Proporcionado solo cuando se crea un nuevo frame source. Solo se accede durante el proceso de StartSession().
Maneja el inicio de la sesión, si este frame source ya se ha ensamblado en Assembly. Este método está diseñado para una inicialización diferida; puedes realizar trabajos de inicialización específicos de AR aquí.
protected abstract void OnSessionStart(ARSession session)
Parámetros
session
OnSessionStop()
Proporcionado solo cuando se crea un nuevo frame source. 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 este frame source ya se ha ensamblado en Assembly. Puedes usar este método para destruir los recursos creados durante StartSession() y el funcionamiento de la sesión, y restaurar el estado interno. Se garantiza que este método se llamará antes de que se destruya la sesión. Si el frame source se destruye antes que la sesión, no se llamará y la sesión se dañará.
protected abstract void OnSessionStop()