Table of Contents

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 frames. Será acedido apenas 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 frames. Acessado apenas durante Assemble().

Em desktops ou celulares, 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 headsets, esta câmera apenas exibe texto diagnóstico diante dos olhos, não renderiza cenas, 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 frames. Será acedido durante todo o ciclo de vida do ARSession.

Se o frame da câmera começou a receber entrada.

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 frames. Será acedido 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 forem fornecidos por múltiplas câmeras, a lista deve incluir todas.

Garanta que o valor está correto quando CameraFrameStarted for true.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Fornecido apenas ao criar uma nova fonte de frames. Será acedido apenas durante o processo de Assemble().

Fornece informações do sistema de exibição. Pode usar DefaultSystemDisplay ou DefaultHMDDisplay para obter as informações de exibição 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 frames. Será acedido apenas durante o processo de Assemble().

Se a fonte de frames atual está disponível.

Se o valor for igual a null, CheckAvailability() será chamado e o valor será obtido após o término de Coroutine.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornecido apenas ao criar uma nova fonte de frames. Será acedido apenas durante o processo de Assemble().

Quando o valor é true, a sessão atualizará a transformação da câmera e renderizará a imagem da câmera.

Ao criar uma extensão para head-mounted display, deve ser false. Deve ter controlo total sobre a câmera 3D na cena. 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 frames. Acessado apenas durante Assemble().

Se esta fonte de frames é para headset. Sendo headset, informações de diagnóstico aparecerão em uma placa 3D diante da câmera.

Alguns filtros de frames operam diferentemente em dispositivos headsets.

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; }

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 frames. Será acedido apenas durante o processo de StartSession().

Processa o início da sessão, se esta fonte de frames já foi montada em Assembly. Este método é projetado para inicialização tardia; 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 frames. Será acedido durante StopSession(bool) ou outros processos de parada/danificação da sessão.

Processa a parada da sessão, se esta fonte de frames já foi montada em Assembly. Pode usar este método para destruir recursos criados durante StartSession() e 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 frames for destruída antes da sessão, não será chamado e a sessão ficará danificada.

protected override void OnSessionStop()

Open()

Abre o dispositivo. Se Open() e Close() não forem chamados manualmente, ARSession abrirá automaticamente após iniciar.

Só pode ser usado após a sessão iniciar.

public void Open()

SetFlashTorch(bool)

Define o modo da tocha do flash. Disponível apenas quando Opened for true.

public bool SetFlashTorch(bool on)

Parâmetros

on

Eventos

DeviceClosed

Evento de dispositivo fechado.

public event Action DeviceClosed

DeviceOpened

Evento de dispositivo aberto, o valor booleano indica se foi bem-sucedido.

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