Class XREALFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Um MonoBehaviour para controlar o dispositivo de câmera XREAL (easyar.XREALCameraDevice) na cena, fornecendo extensões de funcionalidade no ambiente Unity.
Esta fonte de quadro é um dispositivo de rastreamento de movimento que produzirá dados de movimento em uma ARSession.
Ao usar um produto de avaliação (licença pessoal, licença XR de avaliação, serviço Mega de avaliação, etc.) em uma câmera ou head-mounted display personalizada, o EasyAR Sense deixará de responder após um tempo fixo e limitado após cada inicialização.
public class XREALFrameSource : FrameSource
- Herança
-
XREALFrameSource
Propriedades
AvailableCenterMode
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de Assemble().
Todos os modos de centro que podem ser usados.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de Assemble().
Em dispositivos desktop ou móveis, esta câmera representa a contraparte no mundo virtual do dispositivo de câmera física (Camera). Sua matriz de projeção e posição corresponderão à câmera física, controlada pelo EasyAR. Em um head-mounted display, esta câmera é usada apenas para exibir texto de diagnóstico na frente do olho, não para renderização de imagem, e a câmera não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraFrameStarted
Fornecido apenas ao criar uma nova fonte de quadro. Será acessado durante todo o ciclo de vida da ARSession.
Se os quadros da câmera começaram a ser inseridos.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadro. Será acessado quando CameraFrameStarted for verdadeiro.
A(s) câmera(s) do dispositivo que fornece(m) os dados do quadro da câmera. Se os dados do quadro da câmera forem fornecidos por várias câmeras, a lista precisa conter todas elas.
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. Só será acessado durante o processo de Assemble().
Fornece informações do sistema de exibição. Você pode usar DefaultSystemDisplay ou DefaultHMDDisplay para obter as informações de exibição padrão.
protected override IDisplay Display { get; }
FrameRate
Faixa de taxa de quadros. Disponível apenas quando Opened for verdadeiro.
public double FrameRate { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de 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. Só será acessado durante o processo de 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 head-mounted display, deve ser falso. Você deve ter controle total sobre a câmera 3D na cena. Você deve lidar com a renderização da câmera, especialmente no modo VST.
protected override bool IsCameraUnderControl { get; }
IsHMD
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de Assemble().
Se esta fonte de quadro é um head-mounted display. Se for um head-mounted display, informações de diagnóstico serão exibidas em um quadro 3D na frente da câmera.
Alguns filtros de quadro funcionam de forma diferente em dispositivos.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
ReceivedFrameCount
Contagem de quadros adquiridos. Normalmente usado em depuração. Se esse valor parar de aumentar, geralmente é um problema de hardware; reconectar pode resolver.
public int ReceivedFrameCount { get; }
Size
Tamanho da imagem atual. Disponível apenas quando Opened for verdadeiro.
public Vector2Int Size { get; }
Métodos
CheckAvailability()
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de Assemble().
Coroutine usado para verificar se a fonte de quadro está disponível quando IsAvailable for nulo.
protected override IEnumerator CheckAvailability()
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadro. Só será acessado durante o processo de StartSession().
Lida com a inicialização da sessão, se esta fonte de quadro foi montada na Assembly. Este método é projetado para inicialização tardia; você pode fazer a inicialização específica de AR neste método.
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 de sessão.
Lida com a parada da sessão, se esta fonte de quadro foi montada na Assembly. Você pode usar este método para destruir recursos criados durante StartSession() e na execução da sessão, e restaurar o estado interno. Este método será garantidamente chamado antes da destruição da sessão. Se a fonte de quadro for destruída antes da sessão, ela não será chamada e a sessão ficará corrompida.
protected override void OnSessionStop()
Open()
Abre o dispositivo. Se Open() e Close() não forem chamados manualmente, a ARSession abrirá automaticamente após a inicialização.
public void Open()
Eventos
DeviceClosed
Evento de fechamento do dispositivo.
public event Action DeviceClosed
DeviceOpened
Evento de abertura do dispositivo. O valor booleano indica se foi bem-sucedido.
public event Action<bool, PermissionStatus, string> DeviceOpened