Class FrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Uma fonte de frame representa uma fonte de dados para entrada de frame, fornecendo dados de imagem ou dados de movimento simultaneamente.
Você pode implementar uma câmera personalizada herdando de alguns subtipos de FrameSource, mas não pode herdar diretamente de FrameSource. Uma câmera personalizada geralmente representa um novo dispositivo ou uma nova forma de entrada de dados.
Ao usar produtos de avaliação (licença pessoal, licença XR de avaliação ou serviço Mega de avaliação, etc.) em uma câmera personalizada ou headset, o EasyAR Sense parará de responder após um tempo fixo e limitado após cada inicialização.
[DisallowMultipleComponent]
public abstract class FrameSource : MonoBehaviour
- Herança
-
FrameSource
- Derived
Propriedades
AvailableCenterMode
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de Assemble().
Todos os modos de centro que podem ser usados.
protected virtual IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas 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 no ambiente real (Camera). Sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em headsets, esta câmera é usada apenas para exibir alguns textos de diagnóstico na frente dos olhos, não para renderização de imagens, e a câmera não é controlada pelo EasyAR.
protected abstract Camera Camera { get; }
CameraFrameStarted
Fornecido apenas ao criar uma nova fonte de frame. É acessado durante todo o ciclo de vida do ARSession.
Se os frames da câmera começaram a ser inseridos.
protected abstract bool CameraFrameStarted { get; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de frame. É acessado quando CameraFrameStarted for true.
Fornece a(s) câmera(s) do dispositivo que fornece(m) os dados do frame da câmera. Se os dados do frame da câmera forem fornecidos por múltiplas câmeras, a lista precisa conter todas elas.
Garanta que o valor esteja correto quando CameraFrameStarted for true.
protected abstract List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas 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 abstract IDisplay Display { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de Assemble().
Se a fonte de frame atual está disponível.
Se o valor for igual a null, CheckAvailability() será chamado, e o valor será obtido após o término da Coroutine.
protected abstract Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de Assemble().
Quando o valor é true, a sessão atualizará a transform da câmera e renderizará a imagem da câmera.
Ao criar uma extensão para headset, deve ser false. 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 abstract bool IsCameraUnderControl { get; }
IsHMD
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de Assemble().
Se a fonte de frame atual é um headset. Se for um headset, as informações de diagnóstico serão exibidas em um painel 3D na frente da câmera.
Alguns filtros de frame funcionam de forma diferente em dispositivos.
protected abstract bool IsHMD { get; }
Métodos
CheckAvailability()
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de Assemble().
Coroutine usada para verificar se a fonte de frame está disponível quando IsAvailable for igual a null.
protected virtual IEnumerator CheckAvailability()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de frame. É acessado apenas durante o processo de StartSession().
Lida com a inicialização da sessão, se esta fonte de frame já foi montada na Assembly. Este método é projetado para inicialização tardia; você pode realizar trabalhos de inicialização específicos de AR neste método.
protected abstract void OnSessionStart(ARSession session)
Parâmetros
session
OnSessionStop()
Fornecido apenas ao criar uma nova fonte de frame. É acessado durante StopSession(bool) ou outros processos de parada/danificação da sessão.
Lida com a parada da sessão, se esta fonte de frame já foi montada na Assembly. Você pode usar este método para destruir recursos criados durante StartSession() e durante a 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 frame for destruída antes da sessão, ela não será chamada e a sessão será danificada.
protected abstract void OnSessionStop()