Table of Contents

Class ExternalDeviceMotionFrameSource

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

Representa a fonte de quadro de dispositivos externos com capacidade de rastreamento de movimento. Normalmente representa dispositivos de cabeça, onde a renderização da câmera e o rastreamento do dispositivo são realizados pelo SDK do dispositivo.

Esta fonte de quadro é um dispositivo de rastreamento de movimento que produzirá dados de movimento na ARSession.

Você pode implementar a entrada de dispositivos como headsets herdando isso, mas deve completar a função de rastreamento de movimento por conta própria, pois o rastreamento de movimento do EasyAR não pode ser usado diretamente em dispositivos externos. Você precisa adquirir dados de imagem e pose do hardware ou de outros lugares e inseri-los no EasyAR por conta própria. O EasyAR não fornece a capacidade de adquirir esses dados, mas oferece a capacidade de executar funções do EasyAR após esses dados serem inseridos.

Ao usar produtos de teste (como licença pessoal, licença XR de teste ou serviço Mega de teste, etc.) em câmeras personalizadas ou headsets, o EasyAR Sense parará de responder após um tempo fixo e limitado após cada inicialização.

public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
Herança
ExternalDeviceMotionFrameSource
Derived
Membros herdados

Métodos

HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)

Insere dados de quadro da câmera.

Recomenda-se inserir dados a 30 ou 60 fps. A taxa de quadros mínima aceitável = 2, mas o tempo de resposta de alguns algoritmos pode ser afetado. Pode ser chamado em qualquer thread, desde que suas APIs sejam seguras para threads. Esses dados precisam ser consistentes com os dados quando o sensor da câmera é exposto. Sempre que possível, é recomendável inserir dados coloridos no EasyAR Sense, o que ajuda no efeito do EasyAR Mega. Para obter a melhor eficiência, você pode projetar toda a cadeia de dados para que os dados YUV brutos sejam transmitidos diretamente através de memória compartilhada e inseridos no EasyAR Sense usando ponteiros de dados diretamente. Observe a propriedade dos dados.

protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)

Parâmetros

deviceCamera
timestamp
image
cameraParameters
deviceToOriginTransform
trackingStatus

HandleRenderFrameData(double, Pose, MotionTrackingStatus)

Insere dados de quadro de renderização.

Certifique-se de chamar a cada quadro após os dados do dispositivo estarem prontos, sem pular quadros. Esses dados precisam ser consistentes com os dados da câmera de renderização Unity atual que está sendo conduzida no mesmo quadro.

protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)

Parâmetros

timestamp
pose
trackingStatus