Table of Contents

Class ExternalDeviceMotionFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Un frame source che rappresenta un dispositivo esterno con capacita motion tracking. Di solito rappresenta un head-mounted device, in cui camera rendering e device tracking sono entrambi completati dall'SDK del dispositivo.

Questo frame source e un dispositivo motion tracking e produce dati di movimento in ARSession.

Puoi ereditarlo per implementare input di dispositivi come headset, ma devi implementare tu stesso motion tracking. Il motion tracking di EasyAR non puo essere usato direttamente su dispositivi esterni. Devi ottenere autonomamente dati immagine e pose dall'hardware o da altre sorgenti e inserirli in EasyAR. EasyAR non fornisce la capacita di acquisire questi dati, ma fornisce la capacita di eseguire le funzioni EasyAR dopo che i dati sono stati inseriti in EasyAR.

Quando prodotti trial, come personal license, trial XR license o trial Mega service, sono usati su una custom camera o headset, EasyAR Sense smettera di rispondere per un tempo limitato fisso dopo ogni avvio.

public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
Ereditarietà
ExternalDeviceMotionFrameSource
Derived
Membri ereditati

Metodi

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

Inserisce dati frame della camera.

Si consiglia di inserire dati a 30 o 60 fps. Il frame rate minimo accettabile e 2, ma il tempo di risposta di alcuni algoritmi sara influenzato. Puo essere chiamato da qualsiasi thread purche le tue API siano thread-safe. Questi dati devono essere coerenti con i dati al momento dell'esposizione del sensor camera. Quando disponibili, si consiglia di inserire dati colore in EasyAR Sense, cosa utile per l'effetto di EasyAR Mega. Per la massima efficienza, puoi progettare l'intera catena dati in modo che i raw YUV data passino direttamente tramite shared memory e vengano passati direttamente a EasyAR Sense con un data pointer. Fai attenzione alla proprieta dei dati.

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

Parametri

deviceCamera
timestamp
image
cameraParameters
deviceToOriginTransform
trackingStatus

HandleRenderFrameData(double, Pose, MotionTrackingStatus)

Inserisce dati rendering frame.

Assicurati di chiamarlo a ogni frame dopo che i dati del dispositivo sono pronti. I frame non possono essere saltati. Questi dati devono essere coerenti con i dati della camera di rendering Unity corrente nello stesso frame guidato dal dispositivo.

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

Parametri

timestamp
pose
trackingStatus