Class ExternalDeviceRotationFrameSource
- Espaço de nomes
- easyar
- Assembly
- EasyAR.Sense.dll
Uma frame source que representa um dispositivo externo com capacidade de 3DOF rotation tracking. Normalmente representa um head-mounted device, em que camera rendering e device tracking são ambos concluídos pelo SDK do dispositivo.
Esta frame source é um dispositivo de 3DOF rotation tracking e gera dados de rotação em ARSession.
Você pode herdá-la para implementar entrada de dispositivo, como headset, mas deve implementar tracking por conta própria. O 3DOF rotation tracking do EasyAR não pode ser usado diretamente em dispositivos externos. Você precisa obter dados de imagem e rotação por conta própria do hardware ou de outro lugar e inseri-los no EasyAR. O EasyAR não fornece a capacidade de adquirir esses dados, mas fornece a capacidade de executar recursos EasyAR depois que os dados são inseridos no EasyAR.
Quando produtos trial, como personal license, trial XR license ou trial Mega service, são usados em uma custom camera ou headset, o EasyAR Sense deixará de responder por um tempo limitado fixo após cada inicialização.
public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
- Herança
-
ExternalDeviceRotationFrameSource
- Membros herdados
Métodos
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)
Insere dados de frame da camera.
Recomenda-se inserir dados a 30 ou 60 fps. O frame rate mínimo aceitável é 2, mas o tempo de resposta de alguns algoritmos será afetado. Pode ser chamado de qualquer thread, desde que suas APIs sejam thread-safe. Esses dados devem ser consistentes com os dados no momento da exposição do sensor da camera. Sempre que disponível, recomenda-se inserir dados coloridos no EasyAR Sense, o que ajuda o efeito do EasyAR Mega. Para melhor eficiência, você pode projetar toda a cadeia de dados para que raw YUV data passem diretamente por shared memory e sejam passados diretamente ao EasyAR Sense com um data pointer. Preste atenção à propriedade dos dados.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)
Parâmetros
deviceCameratimestampimagecameraParametersdeviceRotation
HandleRenderFrameData(double, Quaternion)
Insere dados de rendering frame.
Certifique-se de chamá-lo a cada frame depois que os dados do dispositivo estiverem prontos. Frames não podem ser ignorados. Esses dados devem ser consistentes com os dados da camera de renderização Unity atual no mesmo frame conduzido pelo dispositivo.
protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)
Parâmetros
timestamprotation