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)

Masukkan data frame kamera.

Disarankan untuk memasukkan data pada 30 atau 60fps. Frame rate minimum yang dapat diterima = 2, tetapi waktu respons beberapa algoritma akan terpengaruh. Ini dapat dipanggil di thread mana pun, asalkan API Anda aman untuk thread. Data ini perlu konsisten dengan data saat sensor kamera terekspos. Selama dapat diperoleh, disarankan untuk memasukkan data berwarna ke EasyAR Sense, yang membantu efek EasyAR Mega. Untuk efisiensi terbaik, Anda dapat merancang seluruh rantai data agar data YUV mentah langsung ditransmisikan melalui memori bersama, dan langsung menggunakan pointer data untuk memasukkan 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)

Masukkan data frame rendering.

Pastikan untuk memanggil setiap frame setelah data perangkat siap, tidak boleh melewatkan frame. Data ini perlu konsisten dengan data kamera rendering Unity saat ini dalam frame yang sama yang didorong.

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

Parameter

timestamp
pose
trackingStatus