Table of Contents

Class ExternalDeviceMotionFrameSource

Пространство имен
easyar
Сборка
EasyAR.Sense.dll

Frame source, представляющий внешнее устройство с возможностью motion tracking. Обычно представляет head-mounted device, где camera rendering и device tracking выполняются SDK устройства.

Этот frame source является устройством motion tracking и выводит данные движения в ARSession.

Можно наследоваться от него, чтобы реализовать ввод устройства, например headset, но motion tracking нужно реализовать самостоятельно. Motion tracking EasyAR нельзя напрямую использовать на внешних устройствах. Нужно самостоятельно получать изображения и pose data из оборудования или других источников и передавать их в EasyAR. EasyAR не предоставляет возможность получения этих данных, но предоставляет возможность запускать функции EasyAR после передачи данных в EasyAR.

При использовании trial-продуктов, таких как personal license, trial XR license или trial Mega service, на custom camera или headset, EasyAR Sense после каждого запуска перестает отвечать на фиксированное ограниченное время.

public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
Наследование
ExternalDeviceMotionFrameSource
Derived
Наследуемые члены

Методы

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

Вводит данные frame camera.

Рекомендуется вводить данные с 30 или 60 fps. Минимально допустимый frame rate равен 2, но время отклика некоторых алгоритмов будет затронуто. Его можно вызывать из любого потока, если ваши API thread-safe. Эти данные должны соответствовать данным в момент экспозиции sensor camera. Когда возможно, рекомендуется вводить цветные данные в EasyAR Sense, что помогает эффекту EasyAR Mega. Для максимальной эффективности можно спроектировать всю цепочку данных так, чтобы raw YUV data напрямую передавались через shared memory и напрямую передавались в EasyAR Sense с помощью data pointer. Обратите внимание на владение данными.

protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)

Параметры

deviceCamera
timestamp
image
cameraParameters
deviceToOriginTransform
trackingStatus

HandleRenderFrameData(double, Pose, MotionTrackingStatus)

Вводит данные rendering frame.

Обязательно вызывайте каждый кадр после готовности данных устройства. Кадры нельзя пропускать. Эти данные должны соответствовать данным текущей Unity rendering camera в том же кадре, управляемом устройством.

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

Параметры

timestamp
pose
trackingStatus