Разрабатывайте с помощью OpenXR

Применимые устройства XR
Данное руководство поможет вам создавать приложения для устройств XR такого типа.
XR-гарнитуры
Проводные XR-очки

Текстовый логотип OpenXR

Android XR поддерживает приложения, созданные с использованием OpenXR, благодаря поддержке спецификации OpenXR 1.1 и некоторых расширений от сторонних производителей . OpenXR — это открытый стандарт, позволяющий создавать захватывающие и интерактивные приложения, используя общий набор API на широком спектре XR-устройств.

Функции

Android XR поддерживает функции, позволяющие создавать приложения, в полной мере использующие уникальные возможности XR-устройств, с помощью OpenXR. К таким функциям относятся следующие.

Структура пространственных сущностей
Единая основа для понимания сцены и пространственного мышления. Позволяет приложениям обнаруживать, запрашивать и отслеживать физические пространственные объекты в окружающей среде, создавать пространственные привязки к объектам, выполнять трассировку лучей для пространственных объектов и сохранять пространственные объекты между сеансами работы приложения.
Отслеживаемые объекты
Поддерживается обнаружение плоскостей , то есть способность идентифицировать и отслеживать плоские поверхности в окружающей среде, что позволяет размещать виртуальные объекты относительно реального мира, а также якоря — виртуальные точки отсчета, которые можно прикреплять к реальным объектам или местам, чтобы виртуальный контент оставался точно расположенным и ориентированным даже при перемещении пользователя.
трассировка лучей
Метод, используемый для определения точки пересечения виртуального луча с объектами в сцене, облегчающий такие взаимодействия, как выбор и манипулирование виртуальными элементами.
Сохранение якоря
Возможность сохранять и восстанавливать точки привязки в нескольких сессиях, обеспечивая постоянное и согласованное размещение виртуального контента в среде.
Отслеживание объектов
Возможность отслеживать курсор мыши, клавиатуру и другие объекты в реальном мире.
Отслеживание по QR-коду
Возможность отслеживать QR-коды в физической среде и расшифровывать содержащиеся в них данные.
Текстуры глубины
Создание карт глубины, предоставляющих информацию о расстоянии между камерой и объектами в сцене, позволяет добиться более реалистичных эффектов перекрытия и взаимодействия.
Сквозной проход
Возможность сочетать видеоматериалы, снятые в реальном мире, с виртуальным контентом, создавая смешанную реальность, которая органично объединяет физический и цифровой миры.
Сетка сцен
Возможность получения трехмерной сетки окружающей среды, которая может использоваться для физики, окклюзии и других взаимодействий с окружающим миром.
Сквозная передача слоя композиции
Позволяет создавать полигональные композиции с возможностью вырезания фрагментов, что позволяет добавлять в сцену объекты реального мира.
Отслеживание лица
Возможность отслеживать черты лица пользователя, что позволяет создавать более реалистичные и выразительные аватары и виртуальные персонажи.
Отслеживание взгляда
Задает положение и ориентацию глаз пользователя, что призвано сделать положение глаз у аватаров более реалистичным.
Отслеживание движений рук
Возможность отслеживать положение и движение рук пользователя.
Ручная сетка
Обеспечивает точное отображение рук пользователя в виде низкополигональной сетки. Оптимизировано для интеграции с различными платформами и приложениями, чтобы гарантировать максимально возможную производительность. Это альтернатива другим расширениям, использующим привязку позы и смешивание весов.
Оценка освещенности
Используется для создания моделей освещения, максимально приближенных к реальным условиям освещения пользователя.

Поддерживаемые устройства ввода

Android XR также поддерживает следующие устройства ввода.

Взаимодействие рук
Распознавание определенных жестов рук, таких как сжатие, смахивание и указание, позволяет пользователям взаимодействовать с виртуальными объектами с помощью жестов и движений рук.
Взаимодействие взгляда
Возможность отслеживать движения глаз пользователя, позволяющая ему выбирать виртуальные объекты и взаимодействовать с ними с помощью взгляда.
6DoF контроллеры движения
Возможность отслеживать положение и движение контроллеров, а также назначение кнопок и D-pad для запуска действий или событий наведения курсора внутри приложения.
Взаимодействие мыши
Возможность для пользователей взаимодействовать с объектами с помощью указателя мыши в трехмерном пространстве.

Поддерживаемые функции производительности

Android XR поддерживает следующие функции, влияющие на производительность.

Фовеация с отслеживанием взгляда
Позволяет приложению отображать контент с более высоким разрешением только в фокусе взгляда.
Искажение пространства
Использует векторы скорости и информацию о текстурах глубины для генерации промежуточных кадров, что эффективно повышает частоту кадров, необходимую для полного погружения пользователей в ваш пользовательский опыт.
синтез кадров
Использует предоставленные приложением векторы движения и данные кадров для синтеза промежуточных кадров, улучшая визуальную плавность и частоту кадров.
Показатели производительности
Предоставляет метрики производительности Android XR во время выполнения на текущем XR-устройстве, композиторе и XR-приложении. Сюда входят время кадра ЦП, время кадра графического процессора, загрузка графического процессора, частота ЦП, количество кадров в секунду и многое другое .

Полный список поддерживаемых функций и расширений см. в разделе « Обзор возможностей OpenXR» .

Поддерживаемые двигатели

Для разработки с использованием OpenXR в Android XR поддерживаются следующие движки.

Единство

Поддержка Unity в Android XR, построенная на основе OpenXR, позволяет разработчикам создавать приложения с использованием Unity 6. Подробнее о создании XR-приложений с помощью Unity можно узнать в обзоре Unity .


OpenXR™ и логотип OpenXR являются товарными знаками, принадлежащими компании The Khronos Group Inc. и зарегистрированными в качестве товарных знаков в Китае, Европейском Союзе, Японии и Соединенном Королевстве.