Table of Contents

Class ExternalDeviceMotionFrameSource

Spazio dei nomi
easyar
Assembly
EasyAR.Sense.dll

Rappresenta una sorgente di frame per dispositivi esterni con capacità di tracciamento del movimento. Di solito indica un dispositivo indossabile per la testa, in cui il rendering della fotocamera e il tracciamento del dispositivo sono entrambi gestiti dall'SDK del dispositivo.

Questa sorgente di frame è un dispositivo di tracciamento del movimento che emette dati di movimento in unARSession.

Puoi implementare input per dispositivi come visori estendendo questo, ma devi implementare tu stesso la funzionalità di tracciamento del movimento. Il tracciamento del movimento di EasyAR non può essere utilizzato direttamente su dispositivi esterni. Devi acquisire tu stesso immagini e dati di pose dall'hardware o da altre fonti e fornirli a EasyAR. EasyAR non fornisce la capacità di acquisire questi dati, ma offre la capacità di eseguire le sue funzionalità dopo che questi dati sono stati forniti.

Quando si utilizzano prodotti di prova (licenza Personal Edition, licenza XR di prova o servizio Mega di prova, ecc.) con fotocamere personalizzate o visori, EasyAR Sense smetterà di rispondere dopo un periodo di tempo fisso e limitato da ogni avvio.

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

Metodi

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

Inserisce i dati del frame della fotocamera.

Si consiglia di inserire dati a 30 o 60 fps. Frequenza fotogrammi minima accettabile = 2, ma i tempi di risposta di alcuni algoritmi ne risentiranno. Può essere chiamato da qualsiasi thread, purché le tue API siano thread-safe. Questi dati devono essere coerenti con i dati al momento dell'esposizione del sensore della fotocamera. Se disponibili, si consiglia di inserire dati a colori in EasyAR Sense, poiché ciò aiuta l'efficacia di EasyAR Mega. Per la massima efficienza, puoi progettare la catena di dati in modo che i dati YUV grezzi passino direttamente tramite memoria condivisa e vengano forniti a EasyAR Sense utilizzando direttamente i puntatori ai dati. Presta attenzione alla proprietà 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 i dati di rendering del frame.

Assicurati di chiamare questo metodo ogni fotogramma dopo che i dati del dispositivo sono pronti; non saltare fotogrammi. Questi dati devono essere coerenti con quelli che guidano la fotocamera di rendering Unity corrente nello stesso fotogramma.

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

Parametri

timestamp
pose
trackingStatus