Class ExternalDeviceMotionFrameSource
- Пространство имен
- easyar
- Сборка
- EasyAR.Sense.dll
Представляет источник кадров внешнего устройства с возможностью отслеживания движения. Обычно относится к гарнитурам, где рендеринг камеры и отслеживание устройства выполняются SDK устройства.
Этот источник кадров является устройством motion-tracking, выводящим данные о движении в ARSession.
Вы можете реализовать ввод для устройств, таких как гарнитуры, наследуя его, но вы должны самостоятельно реализовать функциональность motion-tracking, так как motion-tracking от EasyAR не может использоваться напрямую на внешних устройствах. Вам необходимо самостоятельно получать изображения и данные о позе (pose) с оборудования или из других источников и передавать их в EasyAR. EasyAR не предоставляет возможности для получения этих данных, но позволяет использовать функциональность EasyAR после их передачи.
При использовании пробных продуктов (например, лицензии Personal, пробной лицензии XR или пробного сервиса Mega) с пользовательской камерой или гарнитурой, EasyAR Sense перестает отвечать через фиксированное ограниченное время после каждого запуска.
public abstract class ExternalDeviceMotionFrameSource : ExternalDeviceFrameSource
- Наследование
-
ExternalDeviceMotionFrameSource
- Derived
- Наследуемые члены
Методы
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Pose, MotionTrackingStatus)
Вводит данные кадра с камеры.
Рекомендуется вводить данные с частотой 30 или 60 кадров в секунду. Минимально допустимая частота кадров = 2, но время отклика некоторых алгоритмов может пострадать. Может вызываться из любого потока при условии thread-safety вашего API. Данные должны соответствовать моменту экспозиции сенсора камеры. По возможности рекомендуется передавать цветные данные (color data) в EasyAR Sense для улучшения работы EasyAR Mega. Для оптимальной эффективности вы можете организовать передачу исходных данных YUV напрямую через разделяемую память и передать указатель на данные непосредственно в EasyAR Sense. Обратите внимание на владение данными.
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Pose deviceToOriginTransform, MotionTrackingStatus trackingStatus)
Параметры
deviceCameratimestampimagecameraParametersdeviceToOriginTransformtrackingStatus
HandleRenderFrameData(double, Pose, MotionTrackingStatus)
Вводит данные рендер-кадра.
Убедитесь, что вызывается каждый кадр после готовности данных устройства, без пропусков. Эти данные должны соответствовать данным, управляющим текущей камерой рендеринга Unity в том же кадре.
protected bool HandleRenderFrameData(double timestamp, Pose pose, MotionTrackingStatus trackingStatus)
Параметры
timestampposetrackingStatus