Table of Contents

Поддержка гарнитур и очков в EasyAR

EasyAR SDK предоставляет мощные кроссплатформенные функции дополненной реальности (AR), и его философия дизайна также применима к новым устройствам пространственных вычислений — гарнитурам (Headset). В этой статье мы расскажем, как EasyAR поддерживает гарнитуры и как разработчики могут использовать эти функции для создания иммерсивных впечатлений.

Терминология

В этом документе «гарнитура» или «Headset» относится к классу вычислительных устройств с головным креплением, поддерживающих иммерсивное или сквозное взаимодействие. Они могут отображать виртуальный контент перед глазами пользователя, обеспечивая дополненную (AR) или смешанную реальность (MR). Сюда входят:

  • Оптические прозрачные гарнитуры (Optical See-Through, OST): просмотр реального мира напрямую через полупрозрачные линзы.
  • Видеопрозрачные гарнитуры (Video See-Through, VST): просмотр реального мира через видеопоток с камер.

Обычно гарнитуры также называют AR-очками, MR-очками или VR-шлемами, в зависимости от производителя и типа устройства, но в этой статье мы будем использовать термин «гарнитура».

Основной принцип работы гарнитур

Чтобы лучше понять, как EasyAR поддерживает гарнитуры, сначала рассмотрим их базовый рабочий процесс:

  1. Восприятие окружения: встроенные камеры, датчики глубины (например, iToF) и инерциальные измерительные блоки (IMU) в реальном времени определяют геометрию окружения, условия освещения и поверхности объектов.
  2. Пространственные вычисления: на основе данных сенсоров система SLAM отслеживает 6DoF-позицию (положение + ориентация) головы пользователя.
  3. Рендеринг и отображение контента: 3D-контент (модели, эффекты) рендерится в соответствии с позицией устройства и проецируется на дисплей. В VR-режиме отображается чисто виртуальное изображение; в AR/MR-режиме виртуальное изображение комбинируется с реальным окружением (видео с камер VST или фон OST).
  4. Система взаимодействия: через контроллеры, распознавание жестов, голос или отслеживание взгляда устройство получает команды пользователя и реагирует на них.

Принцип поддержки гарнитур в 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 для гарнитур.

Это обычно включает следующие шаги:

  1. Получение прав разработчика: запросите аккаунт разработчика и документацию SDK для целевой гарнитуры.
  2. Получение потоков данных сенсоров: получите изображения с камер (видеокадры), параметры камеры и другие необходимые данные из SDK устройства.
  3. Вызов API EasyAR: используйте низкоуровневый API EasyAR, передавая полученные данные сенсоров в FrameSource EasyAR для обработки.
  4. Получение и применение результатов: получите результаты вычислений (позицию камеры) из движка EasyAR и примените их в вашем 3D-рендер движке.

Мы предоставляем подробные руководства и примеры кода для помощи в этом процессе. Если возникнут проблемы, обращайтесь за поддержкой в наше сообщество разработчиков.

Доступные ключевые функции

На гарнитурах вы можете использовать весь функционал EasyAR для создания богатых пространственных приложений:

  • Отслеживание плоских изображений: распознавание и отслеживание заданных изображений с наложением динамического видео или 3D-моделей.
  • Отслеживание 3D-объектов: распознавание и отслеживание заданных 3D-моделей (например, игрушек, упаковок) с интерактивным виртуальным контентом.
  • Разреженные пространственные карты: сканирование окружения для генерации 3D-визуальных карт с функцией визуальной локализации и отслеживания. Карты можно сохранять или делиться ими между устройствами.
  • Плотные пространственные карты: сканирование и генерация плотных облаков точек и полигональных сеток (Mesh) окружения для физического взаимодействия виртуальных объектов с реальными, повышая уровень погружения.
  • Облачное распознавание изображений: подключение к облачной базе данных EasyAR для распознавания огромного массива изображений, подходит для выставок, образования и т.д.
  • Локализация Mega в больших пространствах: решение для пространственных вычислений городского масштаба, интегрирующееся с облачным сервисом локализации EasyAR для стабильного, быстрого и точного позиционирования, значительно расширяя границы AR-впечатлений.

Платформенные руководства

Для быстрого старта на конкретных платформах мы подготовили подробные руководства по интеграции. Выберите вкладку ниже для просмотра туториала.