Class ThreeDofCameraDeviceFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Um MonoBehaviour que controla o dispositivo de câmera 3DOF (ThreeDofCameraDeviceFrameSource) na cena, fornecendo extensão de funcionalidade no ambiente Unity.
Esta fonte de quadros é um dispositivo de rastreamento de rotação 3DOF, que produz dados de rotação na ARSession.
public class ThreeDofCameraDeviceFrameSource : FrameSource
- Herança
-
ThreeDofCameraDeviceFrameSource
- Membros herdados
Campos
DesiredFocusMode
O modo de foco desejado. Só é eficaz se modificado antes do evento DeviceOpened ou de OnEnable.
Nota: Devido a limitações de hardware ou sistema, a alternância de foco pode ser ineficaz em alguns dispositivos.
public ThreeDofCameraDeviceFocusMode DesiredFocusMode
Propriedades
Camera
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante Assemble().
Em dispositivos desktop ou móveis, esta câmera representa o Camera correspondente ao dispositivo de câmera física no mundo virtual. Sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em HMDs, esta câmera serve apenas para exibir texto de diagnóstico diante dos olhos, não para renderização, e não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa para Camera, válida apenas se 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 quadros. É acessado durante todo o ciclo de vida da ARSession.
Se os quadros da câmera começaram a ser alimentados.
protected override bool CameraFrameStarted { get; }
DesiredSize
Tamanho de imagem de câmera desejado. Só é eficaz se modificado antes do evento DeviceOpened.
Usará o tamanho mais próximo 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 quadros. É acessado quando CameraFrameStarted for true.
Fornece a(s) câmera(s) do dispositivo que fornece(m) os dados do quadro da câmera. Se os dados vierem de várias câmeras, a lista deve conter todas.
Garanta que o valor esteja correto quando CameraFrameStarted for true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante Assemble().
Fornece informações do sistema de exibição. Você pode usar DefaultSystemDisplay ou DefaultHMDDisplay para obter as informações padrão de exibição.
protected override IDisplay Display { get; }
FrameRateRange
Intervalo de taxas de quadros. Disponível apenas quando Opened for true.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante Assemble().
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 da Coroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de quadros. Só á acessado durante Assemble().
Quando verdadeiro, a sessão atualizará o transform da câmera e renderizará a imagem da câmera.
Ao criar uma extensão para HMD, deve ser false. Você deve controlar totalmente a câmera 3D na cena. Você deve tratar 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 durante Assemble().
Se esta fonte de quadros é um HMD. Se for um HMD, informações de diagnóstico serão exibidas em um painel 3D diante da câmera.
Alguns filtros de quadro comportam-se diferentemente em HMDs.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Size
Tamanho atual da imagem. Disponível apenas quando Opened for true.
O set usará o tamanho mais próximo em SupportedSize.
Se o tamanho da imagem for alterado durante a gravação do FrameRecorder, os dados gravados pararão de atualizar; é necessário fechar e regravar.
public Vector2Int Size { get; set; }
SupportedSize
Todos os tamanhos de imagem suportados pelo dispositivo atual. Disponível apenas quando Opened for true.
public List<Vector2Int> SupportedSize { get; }
Métodos
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante StartSession().
Lida com a iniciação da sessão, se esta fonte de quadros foi montada na Assembly. 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. É 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 quadros foi montada na Assembly. Você pode usar este método para destruir recursos criados durante StartSession() e na sessão em execução, e restaurar o estado interno. É garantido que este método será chamado antes da sessão ser destruída. Se a fonte de quadros 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 chamará Open() 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