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. и зарегистрированными в качестве товарных знаков в Китае, Европейском Союзе, Японии и Соединенном Королевстве.