Table of Contents

Class ExternalDeviceMotionFrameSource

Ruang Nama
easyar
Rakitan
EasyAR.Sense.dll

Frame source yang merepresentasikan perangkat eksternal dengan kemampuan motion tracking. Biasanya merepresentasikan head-mounted device, di mana rendering camera dan tracking perangkat diselesaikan oleh SDK perangkat.

Frame source ini adalah perangkat motion tracking dan menghasilkan data gerakan dalam ARSession.

Anda dapat mewarisinya untuk mengimplementasikan input perangkat seperti headset, tetapi Anda harus mengimplementasikan motion tracking sendiri. Motion tracking EasyAR tidak dapat digunakan langsung pada perangkat eksternal. Anda perlu memperoleh data gambar dan pose sendiri dari hardware atau tempat lain lalu memasukkannya ke EasyAR. EasyAR tidak menyediakan kemampuan untuk memperoleh data ini, tetapi menyediakan kemampuan menjalankan fitur EasyAR setelah data dimasukkan ke EasyAR.

Saat produk trial seperti personal license, trial XR license, atau trial Mega service digunakan pada custom camera atau headset, EasyAR Sense akan berhenti merespons selama waktu terbatas tetap setelah setiap startup.

public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
Pewarisan
ExternalDeviceMotionFrameSource
Derived
Anggota Pewarisan

Metode

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

Memasukkan data frame camera.

Disarankan memasukkan data pada 30 atau 60 fps. Frame rate minimum yang dapat diterima adalah 2, tetapi waktu respons beberapa algoritma akan terpengaruh. Ini dapat dipanggil dari thread apa pun selama API Anda thread-safe. Data ini harus konsisten dengan data saat eksposur sensor camera. Jika tersedia, disarankan memasukkan data warna ke EasyAR Sense, yang membantu efek EasyAR Mega. Untuk efisiensi terbaik, Anda dapat merancang seluruh rantai data agar data YUV mentah langsung diteruskan melalui shared memory dan diteruskan ke EasyAR Sense langsung dengan pointer data. 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 rendering frame.

Pastikan memanggilnya setiap frame setelah data perangkat siap. Frame tidak boleh dilewati. Data ini harus konsisten dengan data camera rendering Unity saat ini dalam frame yang sama yang digerakkan oleh perangkat.

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

Parameter

timestamp
pose
trackingStatus