Class ARCoreFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Um MonoBehaviour que controla o dispositivo de câmera ARCore (easyar.ARCoreCameraDevice) na cena, fornecendo extensões de funcionalidade no ambiente Unity.
Esta fonte de quadro é um dispositivo de rastreamento de movimento que produz dados de movimento no ARSession.
public class ARCoreFrameSource : FrameSource
- Herança
-
ARCoreFrameSource
- Membros herdados
Campos
DesiredFocusMode
O modo de foco desejado. As alterações só terão efeito antes do evento DeviceOpened ou OnEnable.
Nota: Devido a limitações de hardware ou sistema, alternar o foco pode não funcionar em alguns dispositivos.
public ARCoreCameraDeviceFocusMode DesiredFocusMode
Propriedades
Camera
Fornecido apenas ao criar uma nova fonte de quadro. Só é acessado durante Assemble().
Em desktops ou dispositivos móveis, esta câmera representa o Camera correspondente ao dispositivo físico no mundo virtual. Sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em HMDs, esta câmera é usada apenas para exibir texto de diagnóstico diante dos olhos, não para renderizar a cena, e não é controlada pelo EasyAR.
protected override Camera Camera { get; }
CameraCandidate
Alternativa para Camera, válida apenas se a origem XR do Unity 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. É acessado durante todo o ciclo de vida do ARSession.
Se a entrada de quadros da câmera começou.
protected override bool CameraFrameStarted { get; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadro. É acessado quando CameraFrameStarted for true.
Fornece a(s) câmera(s) do dispositivo que fornecem os dados de quadro da câmera. Se os dados forem fornecidos por 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 quadro. Só é acessado durante 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 da taxa de quadros. Disponível apenas quando Opened for true.
public Vector2 FrameRateRange { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadro. Só é acessado durante Assemble().
Se esta fonte de quadro 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 quadro. Só é acessado durante Assemble().
Quando true, 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 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ó é acessado durante Assemble().
Se esta fonte de quadro é para um head-mounted display (HMD). Se for um HMD, as informações de diagnóstico serão exibidas em um quadro 3D à frente da câmera.
Alguns filtros de quadro funcionam de forma diferente em dispositivos HMD.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Size
Tamanho da imagem atual. Disponível apenas quando Opened for true.
public Vector2Int Size { get; }
Métodos
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadro. Só é acessado durante StartSession().
Lida com o início da sessão, se esta fonte de quadro foi montada na Assembly. Destinado a inicialização tardia; você pode fazer inicializações específicas de AR aqui.
protected override void OnSessionStart(ARSession session)
Parâmetros
session
OnSessionStop()
Fornecido apenas ao criar uma nova fonte de quadro. É 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 na Assembly. Use para destruir recursos criados durante StartSession() e operação da sessão, e restaurar o estado interno. Garantido ser chamado antes da destruição da sessão. Se a fonte de quadro for destruída antes da sessão, não será chamada e a sessão será corrompida.
protected override void OnSessionStop()
Open()
Abre o dispositivo. Se Open() e Close() não forem chamados manualmente, o dispositivo será aberto automaticamente após o início do ARSession.
public void Open()
Eventos
DeviceClosed
Evento de dispositivo fechado.
public event Action DeviceClosed
DeviceOpened
Evento de dispositivo aberto. O valor bool indica sucesso.
public event Action<bool, PermissionStatus, string> DeviceOpened