Table of Contents

Поддержка headset и glasses в EasyAR

EasyAR SDK предоставляет мощные кроссплатформенные AR-возможности, и его концепция также подходит для новых spatial computing devices - headset. В этой статье объясняется, как EasyAR поддерживает headset-устройства и как разработчики могут использовать эти функции для создания immersive experience.

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

В этом документе под "headset" или "Headset" понимается тип вычислительного устройства, которое носят на голове и которое поддерживает immersive или see-through взаимодействие. Такие устройства могут отображать виртуальный контент перед глазами пользователя, обеспечивая augmented reality (AR) или mixed reality (MR) experience. Это включает:

  • Optical See-Through, OST Headset: позволяет пользователю напрямую видеть реальный мир через полупрозрачные линзы.
  • Video See-Through, VST Headset: захватывает реальный мир через camera и показывает его в виде video stream. Обычно headset также называют AR glasses, MR glasses или VR helmet. Конкретные названия могут отличаться в зависимости от производителя и типа устройства, но в этой статье мы используем "headset" как общее обозначение этого типа устройств.

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

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

  1. Environmental sensing: с помощью нескольких встроенных камер, depth sensor (например, iToF) и inertial measurement unit (IMU) устройство в реальном времени воспринимает геометрию окружающей среды, освещение и поверхности объектов.
  2. Spatial computing: на основе данных сенсоров SLAM system в реальном времени отслеживает 6DoF pose головы пользователя (position + orientation).
  3. Content rendering and display: 3D content (например, модели и special effects) рендерится в соответствии с pose устройства и выводится на display screen. В VR mode показывается только чисто виртуальное изображение; в AR/MR mode виртуальное изображение совмещается с реальной средой (VST camera image или OST see-through background).
  4. Interaction system: получает команды пользователя и отвечает через controller, gesture recognition, voice или eye tracking.

Принцип поддержки headset в EasyAR

EasyAR не заменяет native spatial tracking или rendering pipeline headset, а работает совместно с ними как "spatial computing enhancer". Как профессиональный AR algorithm engine, он предоставляет spatial perception и computing capabilities для разных AR-сценариев и эффективно сотрудничает с родной системой устройства.

Scope of Responsibility Role Division
6DOF head tracking, display rendering, basic interaction и т. д. Native SDK/runtime headset
Продвинутые возможности восприятия, такие как image/object recognition и tracking, а также large-scale spatial positioning EasyAR SDK

EasyAR SDK предоставляет основные AR-функции для понимания мира, такие как image/object recognition, sparse reconstruction, dense reconstruction и large-scale spatial positioning. Он отвечает за "понимание" мира и за то, чтобы сказать приложению headset, куда размещать virtual content.

EasyAR SDK интегрируется в framework разработки приложений headset (обычно Unity или Unreal) как plugin или library. Он получает исходный data stream от system устройства, обрабатывает и вычисляет его, а затем выдаёт pose matrix относительно spatial coordinate system устройства. В итоге rendering pipeline engine headset рисует virtual objects в правильном месте.

Статус поддержки и способы реализации

EasyAR обеспечивает полноценную поддержку основных platform разработки headset, главным образом двумя способами:

  • Через Unity/Unreal Engine: это самый распространённый и рекомендуемый путь. Производители headset обычно предоставляют специальные Unity/Unreal plugins или XR SDK. EasyAR можно бесшовно интегрировать в SDK производителей.
  • Через Native platform: для сценариев, требующих экстремальной производительности или специфической native разработки, можно использовать native interfaces EasyAR на C++, Java или Objective-C. Обычно это требует от разработчика самостоятельно настраивать interface docking с низкоуровневыми данными устройства.

EasyAR уже был протестирован и подтверждён на нескольких основных headset platform через Unity. Подтверждённо поддерживаемые устройства:

Модель гарнитуры Vendor SDK and version requirement System and firmware version requirement
Apple Vision Pro ARKit in visionOS visionOS 2 или новее
PICO 4 Ultra1 PICO Unity Integration SDK 3.4.0 или новее Версии, заявленные как поддерживаемые SDK производителя2
PICO Space Pro1 PICO Unity Integration SDK 3.4.0 или новее Версии, заявленные как поддерживаемые SDK производителя2
Meta Quest 3/3S3 Meta MRUK (Mixed Reality Utility Kit) 201 или новее Версии, заявленные как поддерживаемые SDK производителя2
Rokid Max Pro
(Rokid AR Studio or other officially supported Rokid usage methods)
Rokid Unity OpenXR Plugin 3.0.3 или новее Версии, заявленные как поддерживаемые SDK производителя2
XREAL Air2 Ultra XREAL SDK 3.1 или новее Версии, заявленные как поддерживаемые SDK производителя2
Xrany X1 Xrany Yuanni SDK Версии, заявленные как поддерживаемые SDK производителя2
Примечание

Rokid Max Pro можно поддерживать через Rokid Unity OpenXR Plugin для Rokid UXR 3, но рекомендуется использовать XR Interaction Toolkit, особенно при cross-device использовании.

Важно

И Apple Vision Pro, и XREAL требуют соответствующего enterprise authorization для использования. Если у вас есть вопросы, свяжитесь с отделом продаж.

  • Из-за ограничений interface authorization Apple Vision Pro поддерживаются только устройства с Apple enterprise API license.
  • Из-за ограничений interface authorization XREAL поддерживаются только устройства с enterprise authorization.

Для headset-устройств других производителей, не упомянутых выше, EasyAR предоставляет расширенный способ подключения, например custom cameras. Вы можете обратиться к Create an EasyAR Headset Extension Package для подключения и выполнить docking самостоятельно.

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

  1. Получить права разработки устройства: подать заявку на developer account и SDK documentation для целевого headset.
  2. Получить потоки данных сенсоров: получить из SDK устройства необходимые данные, такие как camera images (video frames) и camera parameters.
  3. Вызвать EasyAR API: использовать low-level API EasyAR, чтобы передать полученные sensor data в EasyAR FrameSource для обработки.
  4. Получить и применить результаты вычислений: получить из EasyAR engine результаты вычислений (camera pose) и применить их в вашем 3D rendering engine.

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

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

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

  • Planar Image Tracking: распознавать и отслеживать заданные изображения, накладывая на них динамические видео или 3D-модели.
  • 3D Object Tracking: распознавать и отслеживать заданные 3D-модели (например, игрушки и коробки товаров) и позволять virtual content взаимодействовать с ними.
  • Sparse Spatial Map: сканировать окружающую среду для создания 3D visual map и предоставлять визуальное позиционирование и tracking. Сгенерированную карту можно сохранять или делиться ею в реальном времени между несколькими устройствами.
  • Dense Spatial Map: сканировать и создавать dense point cloud map и mesh model (Mesh) окружающей среды, чтобы реализовать физическую occlusion между виртуальными и реальными объектами, значительно повышая immersion.
  • Cloud Image Recognition: подключаться к облачной базе данных EasyAR для распознавания и управления большим количеством изображений, подходит для выставок и образования.
  • Mega Large-Scale Spatial Positioning: city-level spatial computing solution, подключающееся к облачному сервису позиционирования EasyAR для стабильного, быстрого и точного позиционирования и tracking, значительно расширяя возможности AR experience.

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

Чтобы помочь вам быстро начать работу с конкретными платформами, мы подготовили подробные multi-platform integration guides. Нажмите на вкладки ниже, чтобы посмотреть quick-start tutorials для соответствующих платформ.


  1. Требуется использовать EasyAR Sense Unity Plugin PICO Extension 4000.1 или новее + EasyAR Sense Unity Plugin 4003.1 или новее. Более ранние версии поддерживают только PICO 4 Ultra Enterprise devices и требуют enterprise interface authorization от производителя PICO.

  2. Совместимость системы и прошивки поддерживается производителем. EasyAR предоставляет только поддержку совместимости с SDK производителя.

  3. Требуется EasyAR Sense Unity Plugin 4003.1.1 или новее.