Table of Contents

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