Class ExternalDeviceMotionFrameSource
- Ruang Nama
- easyar
- Rakitan
- EasyAR.Sense.dll
Mewakili frame source perangkat eksternal dengan kemampuan pelacakan gerak. Biasanya mewakili perangkat head-mounted, di mana rendering kamera dan pelacakan perangkat dilakukan oleh SDK perangkat.
Frame source ini adalah perangkat pelacakan gerak, yang akan mengeluarkan data gerak dalam ARSession ARSession.
Anda dapat mengimplementasikan input perangkat seperti headset dengan mewarisinya, tetapi Anda harus menyelesaikan fungsi pelacakan gerak sendiri, pelacakan gerak EasyAR tidak dapat digunakan langsung pada perangkat eksternal. Anda perlu mendapatkan data gambar dan pose dari perangkat keras atau tempat lain sendiri dan memasukkannya ke EasyAR, EasyAR tidak menyediakan kemampuan untuk mendapatkan data ini, tetapi menyediakan kemampuan untuk menjalankan fungsi EasyAR setelah data ini dimasukkan ke EasyAR.
Saat menggunakan produk percobaan (lisensi edisi pribadi, lisensi XR percobaan, atau layanan Mega percobaan, dll.) pada kamera kustom atau headset, EasyAR Sense akan berhenti merespons dalam waktu terbatas yang tetap setelah setiap peluncuran.
public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- Pewarisan
-
ExternalDeviceMotionFrameSource
- Derived
- Anggota Pewarisan
Metode
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
Memasukkan data frame kamera.
Disarankan untuk memasukkan data dengan 30 atau 60 fps. Frame rate minimum yang dapat diterima = 2, tetapi waktu respons beberapa algoritma akan terpengaruh. Ini dapat dipanggil di thread mana pun, selama API Anda aman untuk thread. Data ini perlu konsisten dengan data saat sensor kamera terekspos. Jika memungkinkan, disarankan untuk memasukkan data berwarna ke EasyAR Sense, karena ini membantu efek EasyAR Mega. Untuk efisiensi terbaik, Anda dapat merancang seluruh rantai data agar data YUV mentah ditransfer langsung melalui memori bersama dan menggunakan pointer data langsung ke EasyAR Sense. Harap perhatikan kepemilikan data.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
Parameter
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
Memasukkan data frame render.
Pastikan untuk memanggil setiap frame setelah data perangkat siap, tidak boleh melewatkan frame. Data ini perlu konsisten dengan data yang menggerakkan kamera render Unity saat ini dalam frame yang sama.
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
Parameter
timestampposetrackingStatus