Table of Contents

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