Поддержка гарнитур и очков в EasyAR
EasyAR SDK предоставляет мощные кроссплатформенные функции дополненной реальности (AR), и его философия дизайна также применима к новым устройствам пространственных вычислений — гарнитурам (Headset). В этой статье мы расскажем, как EasyAR поддерживает гарнитуры и как разработчики могут использовать эти функции для создания иммерсивных впечатлений.
Терминология
В этом документе «гарнитура» или «Headset» относится к классу вычислительных устройств с головным креплением, поддерживающих иммерсивное или сквозное взаимодействие. Они могут отображать виртуальный контент перед глазами пользователя, обеспечивая дополненную (AR) или смешанную реальность (MR). Сюда входят:
- Оптические прозрачные гарнитуры (Optical See-Through, OST): просмотр реального мира напрямую через полупрозрачные линзы.
- Видеопрозрачные гарнитуры (Video See-Through, VST): просмотр реального мира через видеопоток с камер.
Обычно гарнитуры также называют AR-очками, MR-очками или VR-шлемами, в зависимости от производителя и типа устройства, но в этой статье мы будем использовать термин «гарнитура».
Основной принцип работы гарнитур
Чтобы лучше понять, как EasyAR поддерживает гарнитуры, сначала рассмотрим их базовый рабочий процесс:
- Восприятие окружения: встроенные камеры, датчики глубины (например, iToF) и инерциальные измерительные блоки (IMU) в реальном времени определяют геометрию окружения, условия освещения и поверхности объектов.
- Пространственные вычисления: на основе данных сенсоров система SLAM отслеживает 6DoF-позицию (положение + ориентация) головы пользователя.
- Рендеринг и отображение контента: 3D-контент (модели, эффекты) рендерится в соответствии с позицией устройства и проецируется на дисплей. В VR-режиме отображается чисто виртуальное изображение; в AR/MR-режиме виртуальное изображение комбинируется с реальным окружением (видео с камер VST или фон OST).
- Система взаимодействия: через контроллеры, распознавание жестов, голос или отслеживание взгляда устройство получает команды пользователя и реагирует на них.
Принцип поддержки гарнитур в EasyAR
EasyAR не заменяет нативное пространственное отслеживание или рендер-пайплайн гарнитуры, а работает с ними в синергии как усилитель пространственных вычислений. Будучи профессиональным движком AR-алгоритмов, он предоставляет расширенные возможности пространственного восприятия и вычислений для различных AR-сценариев.
| Область ответственности | Распределение ролей |
|---|---|
| Отслеживание 6DOF головы, рендеринг, базовое взаимодействие | Нативный SDK/рантайм гарнитуры |
| Распознавание/отслеживание изображений/объектов, локализация в больших пространствах и др. | EasyAR SDK |
EasyAR SDK предоставляет ключевые AR-функции для восприятия мира: распознавание изображений/объектов, разреженное восстановление, плотное восстановление, локализация в больших пространствах. Он «понимает» мир и указывает приложению гарнитуры, где размещать виртуальный контент.
EasyAR SDK интегрируется как плагин или библиотека в среду разработки приложений для гарнитур (обычно Unity или Unreal). Он получает потоки сырых данных от систем устройства, обрабатывает и вычисляет их, а затем выдает матрицу позиции относительно пространственной системы координат устройства. Итоговую отрисовку виртуальных объектов в правильном месте выполняет рендер-пайплайн движка гарнитуры.
Поддерживаемые устройства и способы реализации
EasyAR обеспечивает всестороннюю поддержку основных платформ разработки для гарнитур, в основном через два подхода:
- Через Unity/Unreal Engine: это основной и рекомендуемый способ. Производители гарнитур обычно предоставляют специализированные плагины или XR SDK для Unity/Unreal. EasyAR может быть легко интегрирован в них.
- Через нативную платформу (Native): для сценариев, требующих максимальной производительности или специфической нативной разработки, можно использовать нативные интерфейсы EasyAR на C++/Java/Objective-C. Обычно это требует самостоятельной обработки интерфейсов с низкоуровневыми данными устройства.
EasyAR протестирован и проверен на нескольких основных платформах гарнитур через Unity. Подтверждена поддержка следующих устройств:
| Модель гарнитуры | Требования к системе/SDK |
|---|---|
| Apple Vision Pro | visionOS 2 или новее |
| PICO 4 Ultra Enterprise | PICO Unity Integration SDK 3.1.0 или новее |
| Rokid AR Studio | Rokid Unity OpenXR Plugin 3.0.3 или новее |
| XREAL Air2 Ultra | XREAL SDK 3.1 или новее |
| Xrany X1 | Xrany元霓 SDK |
Примечание
Rokid AR Studio поддерживает Rokid UXR 3 через Rokid Unity OpenXR Plugin, но рекомендуется использовать XR Interaction Toolkit, особенно для кроссплатформенности.
Важно
Для Apple Vision Pro, PICO и XREAL требуется соответствующая корпоративная лицензия. По вопросам обращайтесь в коммерческий отдел.
- Из-за ограничений Apple Vision Pro API поддерживаются только устройства с корпоративной лицензией Apple.
- Из-за ограничений PICO API поддерживаются только корпоративные устройства PICO.
- Из-за ограничений XREAL API поддерживаются только устройства с корпоративной лицензией XREAL.
Для гарнитур других производителей, не упомянутых выше, EasyAR предоставляет способы расширенного подключения, например, через пользовательскую камеру. Подробности см. в Создании пакета расширения EasyAR для гарнитур.
Это обычно включает следующие шаги:
- Получение прав разработчика: запросите аккаунт разработчика и документацию SDK для целевой гарнитуры.
- Получение потоков данных сенсоров: получите изображения с камер (видеокадры), параметры камеры и другие необходимые данные из SDK устройства.
- Вызов API EasyAR: используйте низкоуровневый API EasyAR, передавая полученные данные сенсоров в
FrameSourceEasyAR для обработки. - Получение и применение результатов: получите результаты вычислений (позицию камеры) из движка EasyAR и примените их в вашем 3D-рендер движке.
Мы предоставляем подробные руководства и примеры кода для помощи в этом процессе. Если возникнут проблемы, обращайтесь за поддержкой в наше сообщество разработчиков.
Доступные ключевые функции
На гарнитурах вы можете использовать весь функционал EasyAR для создания богатых пространственных приложений:
- Отслеживание плоских изображений: распознавание и отслеживание заданных изображений с наложением динамического видео или 3D-моделей.
- Отслеживание 3D-объектов: распознавание и отслеживание заданных 3D-моделей (например, игрушек, упаковок) с интерактивным виртуальным контентом.
- Разреженные пространственные карты: сканирование окружения для генерации 3D-визуальных карт с функцией визуальной локализации и отслеживания. Карты можно сохранять или делиться ими между устройствами.
- Плотные пространственные карты: сканирование и генерация плотных облаков точек и полигональных сеток (Mesh) окружения для физического взаимодействия виртуальных объектов с реальными, повышая уровень погружения.
- Облачное распознавание изображений: подключение к облачной базе данных EasyAR для распознавания огромного массива изображений, подходит для выставок, образования и т.д.
- Локализация Mega в больших пространствах: решение для пространственных вычислений городского масштаба, интегрирующееся с облачным сервисом локализации EasyAR для стабильного, быстрого и точного позиционирования, значительно расширяя границы AR-впечатлений.
Платформенные руководства
Для быстрого старта на конкретных платформах мы подготовили подробные руководства по интеграции. Выберите вкладку ниже для просмотра туториала.
- Введение
- Использование примеров для гарнитур
- Активация поддержки гарнитур
- Настройка проекта
- Создание пакета расширения EasyAR для гарнитур