Разработка с использованием Unreal Engine для Android XR

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

Поддержка разработки XR в Unreal Engine основана на стандарте OpenXR , что гарантирует нативную поддержку функций OpenXR, поддерживаемых для Android XR, в Unreal Engine.

Следуйте этому руководству, чтобы узнать о:

  • Поддержка Unreal Engine для Android XR
    • Основы XR в Unreal Engine
    • Разработка и публикация приложений для Android XR
    • Плагины Unreal Engine для Android XR
    • Получение поддержки
  • Ввод и взаимодействие
  • Поддерживаемые расширения

Поддержка Unreal Engine для Android XR

При разработке приложений Unreal Engine для Android XR вы можете воспользоваться возможностями пространственных вычислений последних версий Unreal Engine 5. Unreal Engine 5 обеспечивает поддержку основной спецификации OpenXR, а расширения Android XR Extensions for Unreal обеспечивают поддержку Android XR и других специализированных расширений, которые помогут вам быстро начать работу.

Основы XR в Unreal Engine

Если вы новичок в Unreal Engine или разработке XR-приложений, вы можете обратиться к документации Unreal Engine по разработке XR , чтобы понять основные концепции и рабочие процессы. Вот несколько ключевых областей, которые стоит изучить:

Разработка и публикация приложений для Android.

Unreal Engine предоставляет исчерпывающую документацию по разработке, сборке и публикации приложений для Android . Эта документация охватывает управление разрешениями Android в движке, настройку параметров сборки Android (через «Настройки проекта» > «Платформы» > «Android») и использование инструмента автоматизации тестирования Unreal Engine (UAT).

Кроме того, ознакомьтесь с документацией по упаковке и распространению приложений для Android XR , где описаны конкретные требования к пространственным приложениям, распространяемым в Google Play Store. Убедитесь, что ваше приложение также соответствует рекомендациям по качеству для создания эффекта полного погружения, чтобы обеспечить стабильный и комфортный пользовательский опыт на Android XR.

Плагины Unreal Engine для Android XR

Для поддержки создания приложений Unreal Engine для Android XR доступны два основных плагина. Управление этими плагинами осуществляется через меню «Плагины» (Редактировать > Плагины).

Плагин Android XR OpenXR

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

Расширения Android XR для Unreal Engine

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

Получить поддержку

Если у вас возникнут проблемы, обратитесь за помощью в раздел поддержки Unreal Engine на нашей странице поддержки.

Ввод и взаимодействие

Для создания интерактивных пространственных интерфейсов необходимо сопоставлять физические движения с цифровыми действиями. Unreal Engine использует систему Enhanced Input в сочетании с OpenXR для обработки как контроллеров движения, так и отслеживания движений рук. Настраивая действия ввода и контексты сопоставления ввода, вы можете создавать гибкие взаимодействия — такие как захват, указание и навигация по пользовательскому интерфейсу — которые бесперебойно работают с различными методами ввода Android XR.

Подробное руководство по созданию этих механизмов можно найти в документации Unreal Engine по теме «Создание интерактивных XR-приложений» .

Android XR поддерживает следующие специфические методы взаимодействия в Unreal Engine:

Профили взаимодействия

В разделе OpenXR в настройках проекта можно настроить профили взаимодействия. Это позволит вашему приложению поддерживать согласованное сопоставление ввода для различных контроллеров и методов отслеживания.

Взаимодействие рук

Взаимодействие с руками обеспечивается с помощью расширения OpenXR Hand Tracking. Вы можете получить доступ к данным о суставах и позах рук через компоненты XR Tracking в Blueprints или C++.

Взаимодействие взгляда

Данные о направлении взгляда можно получить как стандартное положение ввода, что позволяет управлять фокусировкой пользовательского интерфейса или функциями отслеживания присутствия в социальных сетях. Для этого требуется разрешение android.permission.EYE_TRACKING_FINE .

Отслеживание лица

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

Поддерживаемые расширения

При разработке приложений для Android XR в Unreal Engine поддерживаются следующие расширения OpenXR:

Функция или возможность строка расширения OpenXR Предоставлено

Сохранение привязки устройства

XR_ANDROID_device_anchor_persistence

Расширения Android XR для Unreal Engine

Raycast

XR_ANDROID_raycast

Расширения Android XR для Unreal Engine

Отслеживаемые объекты (плоскости/глубина)

XR_ANDROID_trackables

Расширения Android XR для Unreal Engine

Отслеживание объектов

XR_ANDROID_trackables_object

Расширения Android XR для Unreal Engine

Сетка сцен

XR_ANDROID_scene_meshing

Расширения Android XR для Unreal Engine

Отслеживание лица

XR_ANDROID_face_tracking

Расширения Android XR для Unreal Engine

Отслеживание взгляда

XR_ANDROID_eye_tracking

Расширения Android XR для Unreal Engine

Состояние сквозной камеры

XR_ANDROID_passthrough_camera_state

Расширения Android XR для Unreal Engine

Слой сквозной сетки

XR_ANDROID_composition_layer_passthrough_mesh

Расширения Android XR для Unreal Engine

Текстура глубины

XR_ANDROID_depth_texture

Расширения Android XR для Unreal Engine

Оценка освещенности

XR_ANDROID_light_estimation

Расширения Android XR для Unreal Engine

Показатели эффективности

XR_ANDROID_performance_metrics

Расширения Android XR для Unreal Engine

Рекомендуемое разрешение

XR_ANDROID_recommended_resolution

Расширения Android XR для Unreal Engine

Взаимодействие рук

XR_EXT_hand_interaction

Расширения Android XR для Unreal Engine

Утилиты отладки

XR_EXT_debug_utils

Unreal Engine Native OpenXR

Настройки производительности

XR_EXT_performance_settings

Unreal Engine Native OpenXR

Частота обновления дисплея

XR_FB_display_refresh_rate

Unreal Engine Native OpenXR

Сетка отслеживания движений рук

XR_FB_hand_tracking_mesh

Расширения Android XR для Unreal Engine

Искажение пространства

XR_FB_space_warp

Unreal Engine Native OpenXR

Слой композиции Equirect2

XR_KHR_composition_layer_equirect2

Unreal Engine Native OpenXR

Настройки потоков Android

XR_KHR_android_thread_settings

Unreal Engine Native OpenXR

Расширения предоставляются одним из следующих источников:

  • Расширения Android XR для Unreal Engine : это расширения, разработанные специально для Google ( ANDROID ) и предназначенные для платформы Android XR. Для использования этих пространственных возможностей необходимо установить и включить плагин Android XR Extensions в вашем uproject .
  • Unreal Native OpenXR : Эти функции используют стандартные расширения Khronos ( KHR ), Extension ( EXT ) и Meta ( FB ), которые уже интегрированы и поддерживаются непосредственно в основном плагине OpenXR Unreal Engine.