Class MotionTrackerFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Controlaeasyar.MotionTrackerCameraDevice na cena, fornecendo extensões funcionais no ambiente Unity.
Esta fonte de quadros é um dispositivo de rastreamento de movimento que emite dados de movimento noARSession.
public class MotionTrackerFrameSource : FrameSource
- Herança
-
MotionTrackerFrameSource
- Membros herdados
Propriedades
Camera
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteAssemble().
Em dispositivos desktop ou móveis, esta câmera representa oCamera correspondente no mundo virtual ao dispositivo de câmera física; sua matriz de projeção e posição corresponderão às da câmera real, controladas pelo EasyAR. Em head-mounted-displays, esta câmera é usada apenas para exibir texto de diagnóstico diante dos olhos, não para renderizar a cena, e não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa aoCamera, válida apenas quando o Unity XR Origin não está em uso; se não definido, usa Camera.main.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado durante todo o ciclo de vida doARSession.
Se os quadros da câmera começaram a ser fornecidos.
protected override bool CameraFrameStarted { get; }
DesiredFocusMode
Modo de foco desejado, efetivo apenas se modificado antes do eventoDeviceOpened ou de OnEnable.
Nota: Devido a limitações de hardware ou sistema, alternar o foco pode ser ineficaz em alguns dispositivos.
public Optional<MotionTrackerCameraDeviceFocusMode> DesiredFocusMode { get; set; }
DesiredFrameRate
Taxa de quadros desejada do dispositivo, efetiva apenas se modificada antes do eventoDeviceOpened ou de OnEnable.
public Optional<MotionTrackerCameraDeviceFPS> DesiredFrameRate { get; set; }
DesiredMinQualityLevel
Nível mínimo permitido de qualidade desejado, efetivo apenas se modificado antes deAssemble().
public Optional<MotionTrackerCameraDeviceQualityLevel> DesiredMinQualityLevel { get; set; }
DesiredResolution
Resolução desejada, efetiva apenas se modificada antes do eventoDeviceOpened ou de OnEnable.
Se o tamanho da imagem for alterado durante a gravação doFrameRecorder, os dados gravados pararão de atualizar; feche e grave novamente.
public Optional<MotionTrackerCameraDeviceResolution> DesiredResolution { get; set; }
DesiredTrackingMode
Modo de rastreamento desejado, efetivo apenas se modificado antes da sessão iniciar.
public Optional<MotionTrackerCameraDeviceTrackingMode> DesiredTrackingMode { get; set; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado quandoCameraFrameStarted for true.
Fornece a(s) câmera(s) do dispositivo que fornece(m) os dados dos quadros. Se os dados vierem de múltiplas câmeras, a lista deve conter todas.
Garanta que o valor esteja correto quandoCameraFrameStarted for true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
DeviceQualityLevel
Obtém a qualidade do Motion Tracking no dispositivo, combinado com o cenário de aplicação, este valor pode determinar se o Motion Tracking deve ser iniciado.
public static MotionTrackerCameraDeviceQualityLevel DeviceQualityLevel { get; }
Display
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteAssemble().
Fornece informações do sistema de exibição. UseDefaultSystemDisplay ouDefaultHMDDisplay para obter as informações padrão.
protected override IDisplay Display { get; }
FrameRateRange
Faixa de taxa de quadros. Disponível apenas quandoOpened é true.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteAssemble().
Se esta fonte de quadros está disponível.
Se o valor for null,CheckAvailability() será chamado, e o valor será obtido após o término doCoroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteAssemble().
Quando true, a sessão atualizará o transform da câmera e renderizará a imagem da câmera.
Ao criar extensões para head-mounted, deve ser false. Você deve ter controle total sobre a câmera 3D na cena. Você deve lidar com a renderização da câmera, especialmente no modo VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteAssemble().
Se esta fonte de quadros é um head-mounted-display. Se sim, informações de diagnóstico serão exibidas em um painel 3D na frente da câmera.
Alguns filtros de quadros funcionam diferentemente em dispositivos head-mounted.
protected override bool IsHMD { get; }
LocalPointCloud
Informações de posição atuais dos dados de nuvem de pontos. Disponível apenas quandoOpened é true.
public List<Vector3> LocalPointCloud { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Size
Tamanho atual da imagem. Disponível apenas quandoOpened eMonoBehaviour.enabled são ambos true.
public Vector2Int Size { get; }
Métodos
Close()
Fecha o dispositivo.
public void Close()
HitTestAgainstHorizontalPlane(Vector2)
Realiza um Hit-Test em planos horizontais detectados em tempo real no campo de visão atual, retornando a posição 3D do ponto mais próximo do raio do Hit-Test no plano quando clicado. pointInView deve ser normalizado para [0, 1]^2.
public List<Vector3> HitTestAgainstHorizontalPlane(Vector2 pointInView)
Parâmetros
pointInView
HitTestAgainstPointCloud(Vector2)
Realiza um Hit-Test na nuvem de pontos atual, obtendo a posição 3D do ponto mais próximo ao longo de um raio da câmera (próximo para longe). pointInView deve ser normalizado para [0, 1]^2.
public List<Vector3> HitTestAgainstPointCloud(Vector2 pointInView)
Parâmetros
pointInView
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado apenas duranteStartSession().
Lida com a inicialização da sessão, se esta fonte de quadros foi montada naAssembly. Este método é projetado para inicialização tardia; você pode realizar tarefas de inicialização específicas de AR aqui.
protected override void OnSessionStart(ARSession session)
Parâmetros
session
OnSessionStop()
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado duranteStopSession(bool) ou outros processos de parada/corrupção de sessão.
Lida com a parada da sessão, se esta fonte de quadros foi montada naAssembly. Use este método para destruir recursos criados duranteStartSession() e operação da sessão, e restaurar o estado interno. É garantido que será chamado antes da destruição da sessão. Se a fonte de quadros for destruída antes da sessão, não será chamado e a sessão ficará corrompida.
protected override void OnSessionStop()
Open()
Abre o dispositivo. SeOpen() eClose() não forem chamados manualmente, oARSession abrirá automaticamente ao iniciar.
public void Open()
Eventos
DeviceClosed
Evento de fechamento do dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento de abertura do dispositivo, o valor bool indica sucesso.
public event Action<bool, PermissionStatus, string> DeviceOpened