Table of Contents

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

deviceCamera
timestamp
image
cameraParameters
deviceToOriginTransform
trackingStatus

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

timestamp
pose
trackingStatus