Class InertialCameraDeviceFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Controla o easyar.InertialCameraDevice na cena, fornecendo extensão de funcionalidade no ambiente Unity.
Esta fonte de quadro é um dispositivo de rastreamento 5DOF (rotação + translação horizontal), que produz dados de movimento no ARSession.
public class InertialCameraDeviceFrameSource : FrameSource
- Herança
-
InertialCameraDeviceFrameSource
- Membros herdados
Campos
DesiredFocusMode
Modo de foco desejado. Efetivo apenas se modificado antes do evento DeviceOpened ou OnEnable.
Nota: Devido a limitações de hardware ou sistema, a alternância do foco pode não funcionar em alguns dispositivos.
public InertialCameraDeviceFocusMode DesiredFocusMode
Propriedades
Camera
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo Assemble().
Em desktops ou celulares, esta câmera representa o Camera no mundo virtual correspondente ao dispositivo de câmera real. Sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em dispositivos de exibição na cabeça, esta câmera apenas exibe texto de diagnóstico à frente dos olhos, não sendo usada para renderização. Sua transformação não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa ao Camera, válida apenas se o Unity XR Origin não estiver em uso. Se não definido, Camera.main será usado.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Fornecido apenas ao criar uma nova fonte de quadro. Será acessado durante todo o ciclo de vida do ARSession.
Se os quadros da câmera começaram a ser recebidos.
protected override bool CameraFrameStarted { get; }
DesiredSize
Resolução de imagem desejada para a câmera. Efetivo apenas se modificado antes do evento DeviceOpened.
Usará a resolução mais próxima em SupportedSize. Se não definido, o padrão será usado.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadro. Será acessado quando CameraFrameStarted for verdadeiro.
Fornece a(s) câmera(s) do dispositivo que fornecem dados de quadros. Se os dados vierem de múltiplas câmeras, a lista deve incluí-las todas.
Garanta que o valor esteja correto quando CameraFrameStarted for verdadeiro.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo Assemble().
Fornece informações do sistema de exibição. Use DefaultSystemDisplay ou DefaultHMDDisplay para obter as informações padrão.
protected override IDisplay Display { get; }
FrameRateRange
Intervalo de taxa de quadros. Disponível apenas quando Opened for verdadeiro.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo Assemble().
Se esta fonte de quadro está disponível.
Se o valor for nulo, CheckAvailability() será chamado e o valor será obtido após o término da Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo Assemble().
Quando verdadeiro, a sessão atualizará a transform da câmera e renderizará a imagem da câmera.
Ao criar extensões para dispositivo de exibição na cabeça, deve ser falso. Você deve controlar totalmente a câmera 3D na cena e lidar com sua renderização, especialmente no modo VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo Assemble().
Se esta fonte de quadro é para um dispositivo de exibição na cabeça. Se sim, informações de diagnóstico serão exibidas em uma placa 3D à frente da câmera.
Alguns filtros de quadro comportam-se diferentemente em dispositivos de exibição na cabeça.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Size
Resolução de imagem atual. Disponível apenas quando Opened for verdadeiro.
O set usará a resolução mais próxima em SupportedSize.
Se a resolução for alterada durante a gravação do FrameRecorder, os dados gravados pararão de atualizar; é necessário fechar e reiniciar a gravação.
public Vector2Int Size { get; set; }
SupportedSize
Todas as resoluções de imagem suportadas pelo dispositivo atual. Disponível apenas quando Opened for verdadeiro.
public List<Vector2Int> SupportedSize { get; }
Métodos
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadro. Acessado apenas durante o processo StartSession().
Lida com a inicialização da sessão, se esta fonte de quadro foi montada no Assembly. Este método destina-se à 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 quadro. Será acessado durante StopSession(bool) ou outros processos de parada/corrupção da sessão.
Lida com a parada da sessão, se esta fonte de quadro foi montada no Assembly. Use este método para destruir recursos criados em StartSession() ou durante a execução da sessão e restaurar o estado interno. Este método será chamado antes da destruição da sessão. Se a fonte de quadro for destruída antes da sessão, este método não será chamado e a sessão ficará corrompida.
protected override void OnSessionStop()
Open()
Abre o dispositivo. Se Open() e Close() não forem chamados manualmente, o ARSession abrirá automaticamente ao iniciar.
public void Open()
ResetInertial()
Reinicia o estado.
public void ResetInertial()
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