Table of Contents

Class ExternalDeviceRotationFrameSource

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

Указывает источник кадров для внешнего устройства с возможностью 3DOF-отслеживания вращения. Обычно представляет гарнитуру, где и рендеринг камеры, и отслеживание устройства выполняются пакетом SDK устройства.

Этот источник кадров является устройством с 3DOF-отслеживанием вращения и выводит данные о вращении в ARSession.

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

При использовании пробных продуктов (например, персональной лицензии, пробной лицензии XR или пробного сервиса Mega и т.д.) с пользовательской камерой или гарнитурой, EasyAR Sense перестает отвечать через фиксированное ограниченное время после каждого запуска.

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

Методы

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

Ввод данных кадра камеры.

Рекомендуется вводить данные с частотой 30 или 60 кадров в секунду. Минимально допустимая частота кадров = 2, но время отклика некоторых алгоритмов может пострадать. Вызов может происходить в любом потоке, при условии, что ваши API потокобезопасны. Эти данные должны соответствовать данным в момент экспозиции сенсора камеры. По возможности рекомендуется вводить цветные данные в EasyAR Sense, это улучшает работу EasyAR Mega. Для максимальной эффективности вы можете спроектировать весь поток данных так, чтобы исходные данные YUV передавались напрямую через общую память, и передавать указатель на данные непосредственно в EasyAR Sense. Обратите внимание на права собственности на данные.

protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)

Параметры

deviceCamera
timestamp
image
cameraParameters
deviceRotation

HandleRenderFrameData(double, Quaternion)

Ввод данных кадра рендеринга.

Убедитесь, что вызываете этот метод каждый кадр после готовности данных устройства, без пропусков кадров. Эти данные должны соответствовать данным, управляющим текущей камерой рендеринга Unity в том же кадре.

protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)

Параметры

timestamp
rotation