Class ThreeDofCameraDeviceFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
ComportamentoThreeDofCameraDeviceFrameSourcepara controlar um dispositivo de câmara 3DOF na cena, fornecendo extensão de funcionalidade no ambiente Unity.
Esta fonte de frames é um dispositivo de rastreamento de rotação 3DOF que produz dados de rotação numaARSession.
public class ThreeDofCameraDeviceFrameSource : FrameSource
- Herança
-
ThreeDofCameraDeviceFrameSource
- Membros herdados
Campos
DesiredFocusMode
O modo de foco desejado. Modificações só são efetivas se feitas antes do eventoDeviceOpenedou de OnEnable.
Nota: Devido a limitações de hardware ou sistema, alternar o foco pode não funcionar em alguns dispositivos.
public ThreeDofCameraDeviceFocusMode DesiredFocusMode
Propriedades
Camera
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Em dispositivos desktop ou móveis, esta câmera representa oCamera correspondente no mundo virtual ao dispositivo de câmera no ambiente real; sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em headsets, 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 não se usa Unity XR Origin. Se não definido, usará 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 inseridos.
protected override bool CameraFrameStarted { get; }
DesiredSize
Tamanho de imagem desejado para a câmara. Modificações só são efetivas se feitas antes do eventoDeviceOpened.
Usará o tamanho mais próximo dos valores emSupportedSize. Se não definido, será usado o valor padrão.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado quandoCameraFrameStarted for true.
Fornece a câmera do dispositivo que fornece os dados do quadro. Se os dados vierem de várias câmeras, a lista deve incluir todas.
Garanta que o valor esteja correto quandoCameraFrameStarted for true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Fornece informações de exibição do sistema. Você pode usarDefaultSystemDisplay ouDefaultHMDDisplay para obter as informações padrão.
protected override IDisplay Display { get; }
FrameRateRange
Gama de taxas de frames. Disponível apenas quandoOpenedé verdadeiro.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado 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 daCoroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Quando true, a sessão atualizará o transform da câmera e renderizará a imagem da câmera.
Ao criar uma extensão para headset, deve ser false. Você deve controlar totalmente a câmera 3D na cena. Você deve processar 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. Só é acessado duranteAssemble().
Se esta fonte de quadros é um headset. Se for, informações de diagnóstico serão exibidas em uma placa 3D diante da câmera.
Alguns filtros de quadro funcionam diferentemente no dispositivo.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Size
Tamanho de imagem atual. Disponível apenas quandoOpenedé verdadeiro.
Set usará o tamanho mais próximo dos valores emSupportedSize.
Se o tamanho da imagem for alterado durante a gravação de umFrameRecorder, os dados gravados deixarão de ser atualizados, sendo necessário parar e reiniciar a gravação.
public Vector2Int Size { get; set; }
SupportedSize
Todos os tamanhos de imagem suportados pelo dispositivo atual. Disponível apenas quandoOpenedé verdadeiro.
public List<Vector2Int> SupportedSize { get; }
enabled
Inicia/Para a captura do fluxo de vídeo durante a execução doARSession. Após a sessão iniciar, a captura só começará quandoMonoBehaviour.enabled for true.
public bool enabled { get; set; }
Métodos
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado 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 trabalhos de inicialização específicos 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 da 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, oARSessionabrirá automaticamente após 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