使用 Unreal Engine for Android XR 进行开发

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜

Unreal Engine 对 XR 开发的支持基于 OpenXR 标准,确保 Unreal 原生支持 Android XR 支持的 OpenXR 功能。

请按照本指南了解以下内容:

  • Unreal Engine 对 Android XR 的支持
    • Unreal Engine XR 基础知识
    • 为 Android XR 开发和发布应用
    • 适用于 Android XR 的 Unreal Engine 插件
    • 获取支持
  • 输入和互动
  • 支持的扩展程序

Unreal Engine 对 Android XR 的支持

为 Android XR 构建 Unreal 应用时,您可以利用最新版 Unreal Engine 5 的空间计算功能。Unreal Engine 5 支持核心 OpenXR 规范,而 Android XR Extensions for Unreal 则支持 Android XR 和其他特定扩展程序,以帮助您快速入门。

Unreal Engine XR 基础知识

如果您是 Unreal 或 XR 开发新手,可以参阅 Unreal 的 XR 开发文档,了解基本概念和 工作流。以下是一些需要探索的关键领域:

为 Android 开发和发布应用

Unreal Engine 提供了全面的文档,用于为 Android 开发、构建、 和发布应用。此文档涵盖了在引擎中管理 Android 权限、配置 Android 构建设置(通过“项目设置”>“平台”>“Android”)以及使用 Unreal Automation Tool (UAT)。

此外,请参阅有关为 packaging and distributing apps for Android XR 打包和分发应用的文档,了解适用于在 Google Play 商店中分发的空间应用的具体要求。确保您的应用还遵循沉浸式体验的 质量指南,以便在 Android XR 上提供一致且 舒适的用户体验。

适用于 Android XR 的 Unreal Engine 插件

有两个核心插件可支持为 Android XR 构建 Unreal 应用。这些插件通过“插件”菜单(“修改”>“插件”)进行管理。

Android XR OpenXR 插件

Android XR OpenXR 插件是向 Unreal 添加 Android XR 支持的主要引擎接口。它实现了空间跟踪、环境理解和感知所需的 OpenXR 扩展程序。如需了解如何添加和 配置此插件,请参阅 Unreal Engine OpenXR 文档

Android XR Extensions for Unreal

Android XR Extensions for Unreal 补充了基本的 OpenXR 支持,包括其他功能,可帮助您构建沉浸式体验,例如高级手部网格数据和特定硬件优化。如需了解如何 导入和配置此软件包,请按照 Android XR Extensions 快速入门中的说明操作。

获取支持

如果您遇到问题,请参阅我们 支持页面上的 Unreal Engine 支持部分以获取帮助。

输入和互动

创建互动式空间体验需要将物理动作映射到数字动作。Unreal Engine 使用增强型输入系统与 OpenXR 相结合来处理运动控制器和手部追踪。通过设置输入操作和输入映射上下文,您可以创建灵活的互动(例如抓取、指向和界面导航),这些互动可以在不同的 Android XR 输入方法之间无缝运行。

如需获取有关构建这些机制的全面指南,请参阅 Unreal Engine 的 文档,了解如何打造互动式 XR 体验

Android XR 支持 Unreal Engine 中的以下特定互动方法:

互动配置文件

您可以在“项目设置”的“OpenXR”部分中配置互动配置文件。这样,您的应用就可以在不同的控制器和跟踪方法之间保持一致的输入映射。

手部互动

手部互动通过 OpenXR 手部追踪扩展程序提供。您可以通过蓝图或 C++ 中的 XR 跟踪组件访问手部关节数据和姿势。

凝视互动

凝视数据可以作为标准输入姿势检索,让您可以驱动界面焦点或社交状态功能。这需要 android.permission.EYE_TRACKING_FINE 权限。

面部追踪

访问实时面部表情数据,以制作虚拟形象动画或驱动社交互动。这使用 XR_ANDROID_face_tracking 扩展程序。

支持的扩展程序

在 Unreal 中为 Android XR 进行开发时,支持以下 OpenXR 扩展程序:

功能或能力 OpenXR 扩展程序字符串 提供者

设备锚点持久性

XR_ANDROID_device_anchor_persistence

Android XR Extensions for Unreal

光线投射

XR_ANDROID_raycast

Android XR Extensions for Unreal

可跟踪对象(平面/深度)

XR_ANDROID_trackables

Android XR Extensions for Unreal

对象跟踪

XR_ANDROID_trackables_object

Android XR Extensions for Unreal

场景网格化

XR_ANDROID_scene_meshing

Android XR Extensions for Unreal

面部追踪

XR_ANDROID_face_tracking

Android XR Extensions for Unreal

眼动跟踪

XR_ANDROID_eye_tracking

Android XR Extensions for Unreal

直通相机状态

XR_ANDROID_passthrough_camera_state

Android XR Extensions for Unreal

直通网格层

XR_ANDROID_composition_layer_passthrough_mesh

Android XR Extensions for Unreal

深度纹理

XR_ANDROID_depth_texture

Android XR Extensions for Unreal

光照估算

XR_ANDROID_light_estimation

Android XR Extensions for Unreal

性能指标

XR_ANDROID_performance_metrics

Android XR Extensions for Unreal

推荐分辨率

XR_ANDROID_recommended_resolution

Android XR Extensions for Unreal

手部互动

XR_EXT_hand_interaction

Android XR Extensions for Unreal

调试实用程序

XR_EXT_debug_utils

Unreal Native OpenXR

性能设置

XR_EXT_performance_settings

Unreal Native OpenXR

显示屏刷新频率

XR_FB_display_refresh_rate

Unreal Native OpenXR

手部追踪网格

XR_FB_hand_tracking_mesh

Android XR Extensions for Unreal

空间扭曲

XR_FB_space_warp

Unreal Native OpenXR

Equirect2 合成层

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Android 线程设置

XR_KHR_android_thread_settings

Unreal Native OpenXR

全局直通调暗

XR_ANDROID_global_passthrough_dimming

Android XR Extensions for Unreal(v1.0.0 稳定版)

系统扩展属性

XR_ANDROID_enumerate_system_extension_properties

Android XR Extensions for Unreal(v1.0.0 稳定版)

空间实体和标记跟踪

XR_ANDROID_trackables_marker

Android XR Extensions for Unreal(v1.0.0 稳定版)

扩展程序由以下来源之一提供:

  • Android XR Extensions for Unreal:这些是为 Android XR 平台开发的 Google 特定扩展程序 (ANDROID)。如需利用这些空间 功能,您必须安装并启用 Android XR Extensions 插件在您的.uproject中。
  • Unreal Native OpenXR:这些功能利用了 Khronos (KHR)、扩展程序 (EXT) 和 Meta (FB) 标准扩展程序,这些扩展程序已直接集成到 Unreal Engine 的核心 OpenXR 插件中并由其维护。