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)
Параметры
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
Вводит данные rendering frame.
Обязательно вызывайте каждый кадр после готовности данных устройства. Кадры нельзя пропускать. Эти данные должны соответствовать данным текущей Unity rendering camera в том же кадре, управляемом устройством.
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
Параметры
timestampposetrackingStatus