Table of Contents

Class VisionOSARKitFrameSource

Espaço de nomes
easyar
Assembly
EasyAR.Sense.dll

O componente MonoBehaviour que controla o dispositivo de câmera VisionOS ARKit (easyar.VisionOSARKitCameraDevice) na cena, fornecendo extensões de funcionalidade no ambiente Unity.

Esta fonte de quadros é um dispositivo de rastreamento de movimento que produz dados de movimento em uma ARSession.

Ao usar produtos de avaliação (licença pessoal, licença XR de avaliação ou serviço Mega de avaliação, etc.) em câmeras personalizadas ou head-mounted displays, o EasyAR Sense deixará de responder após um tempo fixo e limitado após cada inicialização.

public class VisionOSARKitFrameSource : FrameSource
Herança
VisionOSARKitFrameSource
Membros herdados

Propriedades

AvailableCenterMode

Fornecido apenas ao criar uma nova fonte de quadros. Só é 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 quadros. Só é acessado durante o processo de Assemble().

Em dispositivos desktop ou móveis, esta câmera representa a Camera correspondente no mundo virtual ao dispositivo de câmera físico no ambiente real; sua matriz de projeção e posição corresponderão à câmera real, controlada pelo EasyAR. Em um HMD, esta câmera é usada apenas para exibir texto de diagnóstico na frente dos olhos, não para renderizar a cena, e a câmera não é controlada pelo EasyAR.

protected override Camera Camera { get; }

CameraFrameStarted

Fornecido apenas ao criar uma nova fonte de quadros. É 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 quadros. É acessado quando CameraFrameStarted for verdadeiro.

Fornece a(s) câmera(s) do dispositivo que fornecem os dados do quadro da câmera. Se os dados do quadro da câmera forem fornecidos por várias câmeras, a lista deve incluir todas elas.

Garanta que o valor seja correto quando CameraFrameStarted for verdadeiro.

protected override List<FrameSourceCamera> DeviceCameras { get; }

Display

Fornecido apenas ao criar uma nova fonte de quadros. Só é 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; }

FrameRateRange

Intervalo de taxas de quadros. Disponível apenas quando Opened for verdadeiro.

public Vector2 FrameRateRange { get; }

IsAvailable

Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante o processo de Assemble().

Se esta fonte de quadros está disponível.

Se o valor for null, CheckAvailability() será chamado, e o valor será obtido após o Coroutine terminar.

protected override Optional<bool> IsAvailable { get; }

IsCameraUnderControl

Fornecido apenas ao criar uma nova fonte de quadros. Só é 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 HMD, 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 override bool IsCameraUnderControl { get; }

IsHMD

Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante o processo de Assemble().

Se esta fonte de quadros é um head-mounted display. Se for um HMD, informações de diagnóstico serão exibidas em uma placa 3D na frente da câmera.

Alguns filtros de quadro podem funcionar de forma diferente em dispositivos.

protected override bool IsHMD { get; }

Opened

Se a câmera está aberta.

public bool Opened { get; }

Size

Tamanho atual da imagem. Disponível apenas quando Opened for verdadeiro.

public Vector2Int Size { get; }

Métodos

Close()

Fecha o dispositivo.

public void Close()

OnSessionStart(ARSession)

Fornecido apenas ao criar uma nova fonte de quadros. Só é acessado durante StartSession().

Lida com a inicialização da sessão, se esta fonte de quadros 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 override void OnSessionStart(ARSession session)

Parâmetros

session

OnSessionStop()

Fornecido apenas ao criar uma nova fonte de quadros. É 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 quadros 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 é garantido de ser chamado antes da sessão ser destruída. Se a fonte de quadros for destruída antes da sessão, este método não será chamado 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 bool indica se foi bem-sucedido.

public event Action<bool, PermissionStatus, string> DeviceOpened