Class CameraDeviceFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Controla o easyar.CameraDevice na cena, fornecendo extensão de funcionalidade no ambiente Unity.
Esta fonte de frames não é um dispositivo de rastreamento de movimento e não produzirá dados de movimento em ARSession.
[RequireComponent(typeof(CameraDeviceDisplay))]
public class CameraDeviceFrameSource : FrameSource
- Herança
-
CameraDeviceFrameSource
- Derived
- Membros herdados
Campos
CameraOpenIndex
O índice do dispositivo usado ao abrir a câmera, usado quando CameraOpenMethod == DeviceIndex, só é eficaz se modificado antes do evento DeviceOpened.
[HideInInspector]
[SerializeField]
public int CameraOpenIndex
CameraOpenMethod
O método usado ao abrir a câmera, só é eficaz se modificado antes do evento DeviceOpened.
[HideInInspector]
[SerializeField]
public CameraDeviceFrameSource.CameraDeviceOpenMethod CameraOpenMethod
CameraOpenType
O tipo de Câmera usado ao abrir, usado quando CameraOpenMethod == PreferredType ou SpecificType, só é eficaz se modificado antes do evento DeviceOpened.
[HideInInspector]
[SerializeField]
public CameraDeviceType CameraOpenType
Propriedades
AndroidCameraApiType
No Android, pode ser usado para obter a API Camera utilizada (camera1 ou camera2). Disponível apenas quando Opened for true.
public AndroidCameraApiType AndroidCameraApiType { get; }
AvailableCenterMode
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Todos os modos de centro disponíveis.
protected override IReadOnlyList<ARSession.ARCenterMode> AvailableCenterMode { get; }
Camera
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Em dispositivos desktop ou móveis, esta câmera representa oCamera correspondente no mundo virtual ao dispositivo de câmera no ambiente real; 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 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 ao Camera; se não definido, usará Camera.main.
public Camera CameraCandidate { get; set; }
CameraCount
Obtém o número de câmeras reconhecidas pelo sistema operacional.
public static int CameraCount { get; }
CameraFrameStarted
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado durante todo o ciclo de vida doARSession.
Se os quadros da câmera começaram a ser inseridos.
protected override bool CameraFrameStarted { get; }
CameraType
Tipo de câmera. Disponível apenas quando Opened for true.
public CameraDeviceType CameraType { get; }
DesiredAndroidCameraApiType
API Android Camera desejada, efetiva apenas se modificada antes do evento DeviceOpened.
Se não definido, será selecionado conforme DesiredCameraPreference.
public Optional<AndroidCameraApiType> DesiredAndroidCameraApiType { get; set; }
DesiredCameraPreference
Preferências usadas na criação do dispositivo de câmera, efetivas apenas se modificadas antes da sessão iniciar.
public Optional<CameraDevicePreference> DesiredCameraPreference { get; set; }
DesiredFocusMode
Modo de foco desejado, efetivo apenas se modificado antes do evento DeviceOpened.
Nota: Sujeito a limitações de hardware ou sistema, a alternância de foco pode ser ineficaz em alguns dispositivos. Se não definido, será selecionado conforme DesiredCameraPreference.
public Optional<CameraDeviceFocusMode> DesiredFocusMode { get; set; }
DesiredSize
Tamanho desejado da imagem da câmera, efetivo apenas se modificado antes do evento DeviceOpened.
Usará o tamanho mais próximo em SupportedSize. Se não definido, será usado o padrão.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Fornecido apenas ao criar uma nova fonte de quadros. Será acessado quandoCameraFrameStarted for true.
Fornece a câmera do dispositivo que fornece os dados do quadro. Se os dados vierem de várias câmeras, a lista deve incluir todas.
Garanta que o valor esteja correto quandoCameraFrameStarted for true.
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Fornece informações de exibição do sistema. Você pode usarDefaultSystemDisplay ouDefaultHMDDisplay para obter as informações padrão.
protected override IDisplay Display { get; }
FocusMode
Modo de foco. Disponível apenas quando Opened for verdadeiro.
public CameraDeviceFocusMode FocusMode { set; }
FrameRateRange
Faixa de taxa-de-quadros. Disponível apenas quando Opened for verdadeiro.
public Vector2 FrameRateRange { get; }
FrameRateRangeIndex
Índice da faixa de taxa-de-quadros atual do dispositivo. Disponível apenas quando Opened for verdadeiro.
public int FrameRateRangeIndex { get; set; }
Index
Índice da câmera. Disponível apenas quando Opened for true.
public int Index { get; }
IsAvailable
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
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 daCoroutine.
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteAssemble().
Quando true, a sessão atualizará o transform da câmera e renderizará a imagem da câmera.
Ao criar uma extensão para headset, deve ser false. Você deve controlar totalmente a câmera 3D na cena. Você deve processar 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 duranteAssemble().
Se esta fonte de quadros é um headset. Se for, informações de diagnóstico serão exibidas em uma placa 3D diante da câmera.
Alguns filtros de quadro funcionam diferentemente no dispositivo.
protected override bool IsHMD { get; }
Opened
Se a câmera está aberta.
public bool Opened { get; }
Parameters
Parâmetros da câmera. Disponível apenas quando Opened for verdadeiro.
public CameraParameters Parameters { get; set; }
Size
Tamanho atual da imagem. Disponível apenas quando Opened for verdadeiro.
A definição usará o tamanho mais próximo em SupportedSize.
Se o tamanho da imagem for modificado durante a gravação do FrameRecorder, os dados de gravação pararão de atualizar, exigindo reinício após fechamento.
public Vector2Int Size { get; set; }
SupportedFrameRateRange
Todas as faixas de taxa-de-quadros suportadas pelo dispositivo atual. Disponível apenas quando Opened for verdadeiro.
public List<Vector2> SupportedFrameRateRange { get; }
SupportedSize
Todos os tamanhos de imagem suportados pelo dispositivo atual. Disponível apenas quando Opened for true.
public List<Vector2Int> SupportedSize { get; }
enabled
Inicia/Para a captura do fluxo de vídeo durante a execução doARSession. Após a sessão iniciar, a captura só começará quandoMonoBehaviour.enabled for true.
public bool enabled { get; set; }
Métodos
AutoFocus()
Does auto focus once. It is only available when FocusMode is Normal or Macro.
public bool AutoFocus()
Close()
Fecha o dispositivo.
public void Close()
OnSessionStart(ARSession)
Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado duranteStartSession().
Lida com a inicialização da sessão, se esta fonte de quadros foi montada naAssembly. 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. Será acessado duranteStopSession(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 naAssembly. Use este método para destruir recursos criados duranteStartSession() e operação da sessão, e restaurar o estado interno. É garantido que será chamado antes da destruição da sessão. Se a fonte de quadros for destruída antes da sessão, não será chamado e a sessão ficará corrompida.
protected override void OnSessionStop()
Open()
Abra o dispositivo. Se Open() e Close() não forem chamados manualmente, o ARSession irá Open() automaticamente após a inicialização.
Só pode ser usado após a sessão ser iniciada.
public void Open()
SetFlashTorch(bool)
Definir o modo de tocha flash. Disponível apenas quando Opened for true.
public bool SetFlashTorch(bool on)
Parâmetros
on
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
DeviceStateChanged
Evento de dispositivo indisponível, como desconexão ou preempção (somente Windows).
public event Action<CameraState> DeviceStateChanged