Class InertialCameraDeviceFrameSource
- Espacio de nombres
- easyar
- Ensayo
- EasyAR.Sense.dll
Componente deeasyar.InertialCameraDevice en la escena que controla la extensión de funcionalidad en entorno Unity.
Esta fuente de cuadros es un dispositivo de seguimiento 5DOF (rotación + desplazamiento horizontal) que proporciona datos de movimiento enARSession.
public class InertialCameraDeviceFrameSource : FrameSource
- Herencia
-
InertialCameraDeviceFrameSource
- Miembros heredados
Campos
DesiredFocusMode
Modo de enfoque deseado. Solo es efectivo si se modifica antes del eventoDeviceOpened o OnEnable.
Nota: Debido a limitaciones de hardware o sistema, el interruptor de enfoque puede no funcionar en algunos dispositivos.
public InertialCameraDeviceFocusMode DesiredFocusMode
Propiedades
Camera
Proporcionado solo al crear una nueva fuente de cuadros. Solo se accede duranteAssemble().
En dispositivos de escritorio o móviles, esta cámara representa laCamera correspondiente en el mundo virtual para el dispositivo de cámara física. Su matriz de proyección y posición corresponderán a la cámara real y es controlado por EasyAR. En auriculares, esta cámara solo muestra texto de diagnóstico frente a los ojos, no renderiza la escena principal y no es controlada por EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa aCamera. Válido solo si no se usa Unity XR Origin. Si no está configurado, se usa Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Proporcionado solo al crear una nueva fuente de cuadros. Se accede durante todo el ciclo de vida deARSession.
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 eventoDeviceOpened.
Se usará el tamaño más cercano enSupportedSize. Si no se establece, se usa el valor predeterminado.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Proporcionado solo al crear una nueva fuente de cuadros. Se accede solo cuandoCameraFrameStarted es true.
Proporciona la(s) cámara(s) física(s) que proporcionan los datos de fotogramas. Si los datos provienen de múltiples cámaras, la lista debe contenerlas todas.
Asegúrese de que el valor sea correcto cuandoCameraFrameStarted sea true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Proporcionado solo al crear una nueva fuente de cuadros. Solo se accede duranteAssemble().
Proporciona información del sistema de visualización. Puedes usarDefaultSystemDisplay oDefaultHMDDisplay para obtener la información predeterminada.
protected override IDisplay Display { get; }
FrameRateRange
Rango de velocidad de fotogramas. Disponible solo cuandoOpened es true.
public Vector2 FrameRateRange { get; }
IsAvailable
Proporcionado solo al crear una nueva fuente de cuadros. Solo se accede duranteAssemble().
Si esta fuente de cuadros está disponible.
Si el valor es null, se llamará aCheckAvailability() y el valor se obtendrá después de que finalice laCoroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Proporcionado solo al crear una nueva fuente de cuadros. Solo se accede duranteAssemble().
Si 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 auriculares, 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 cuadros. Solo se accede duranteAssemble().
Si esta fuente de cuadros es para auriculares. Si es así, la información de diagnóstico se mostrará en un panel 3D frente a la cámara.
Algunos filtros de cuadros funcionan de manera diferente en dispositivos auriculares.
protected override bool IsHMD { get; }
Opened
¿Está la cámara abierta?
public bool Opened { get; }
Size
Tamaño de imagen actual. Disponible solo cuandoOpened es true.
Set utilizará el tamaño más cercano enSupportedSize.
Si se modifica el tamaño de imagen durante la grabación deFrameRecorder, los datos de grabación dejarán de actualizarse; se debe detener y reiniciar la grabación.
public Vector2Int Size { get; set; }
SupportedSize
Todos los tamaños de imagen soportados por el dispositivo actual. Disponible solo cuandoOpened 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 cuadros. Solo se accede duranteStartSession().
Maneja el inicio de la sesión, si esta fuente de cuadros está ensamblada enAssembly. Diseñado para inicialización diferida; aquí se puede realizar trabajo de inicialización específico de AR.
protected override void OnSessionStart(ARSession session)
Parámetros
session
OnSessionStop()
Proporcionado solo al crear una nueva fuente de cuadros. Se accede duranteStopSession(bool) u otro proceso de detención/daño de sesión.
Maneja la detención de la sesión, si esta fuente de cuadros está ensamblada enAssembly. Usa este método para destruir recursos creados enStartSession() o durante la sesión, y restaurar el estado interno. Se llama garantizadamente antes de destruir la sesión. Si la fuente de cuadros 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 aOpen() yClose(),ARSession lo abrirá automáticamente al iniciarse.
public void Open()
ResetInertial()
Reinicia el estado.
public void ResetInertial()
Eventos
DeviceClosed
Evento de cierre del dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento de apertura del dispositivo. El valor booleano indica si fue exitosa.
public event Action<bool, PermissionStatus, string> DeviceOpened