Table of Contents

Class ExternalDeviceRotationFrameSource

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

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

Этот frame source является устройством 3DOF rotation tracking и выводит данные вращения в ARSession.

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

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

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

Методы

HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)

Вводит данные 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, Quaternion deviceRotation)

Параметры

deviceCamera
timestamp
image
cameraParameters
deviceRotation

HandleRenderFrameData(double, Quaternion)

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

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

protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)

Параметры

timestamp
rotation