Unreal Engine 对 XR 开发的支持基于 OpenXR 标准,可确保 Unreal 原生支持 Android XR 支持的 OpenXR 功能。
请按照本指南了解以下内容:
- Android XR 的虚幻引擎支持
- Unreal Engine XR 基础知识
- 开发和发布 Android XR 应用
- 适用于 Android XR 的虚幻引擎插件
- 获取支持
- 输入和互动
- 支持的扩展程序
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 开发者文档,了解基本概念和工作流。以下是几个值得探索的关键领域:
- XR 框架:了解如何通过将相机组件(代表头戴式设备)和手部输入(代表手部)附加到共享场景根目录来构建 VR Pawn。
- OpenXR 插件:Android XR 设备支持的核心接口。
- XR 架构:Unreal 如何处理技术栈和 XR 子系统。
- 项目设置:配置
.uproject以进行空间渲染。 - 图形指南:利用注视点渲染、多视图和可变速率着色 (VRS)。
- 性能和性能剖析:用于优化 XR 应用的工具和技术。
- 最佳实践:设计和开发指南,用于打造舒适且沉浸式的 XR 体验。
开发和发布 Android 应用
Unreal Engine 提供了有关针对 Android 进行开发、构建和发布的全面文档。本文档介绍了如何在引擎中管理 Android 权限、配置 Android build 设置(通过“Project Settings”[项目设置] >“Platforms”[平台] >“Android”),以及使用 Unreal Automation Tool (UAT)。
此外,请参阅打包和分发 Android XR 应用的相关文档,了解适用于在 Google Play 商店中分发的空间应用的具体要求。确保您的应用还遵循沉浸式体验质量指南,以便在 Android XR 上提供一致且舒适的用户体验。
适用于 Android XR 的虚幻引擎插件
有两个核心插件可为构建适用于 Android XR 的 Unreal 应用提供支持。这些插件通过“Plugins”(插件)菜单(Edit [修改] > Plugins [插件])进行管理。
Android XR OpenXR 插件
Android XR OpenXR 插件是主要的引擎接口,可为 Unreal 添加 Android XR 支持。它实现了空间跟踪、环境理解和感知所需的 OpenXR 扩展。如需了解如何添加和配置此插件,请参阅虚幻引擎 OpenXR 文档。
Android XR Extensions for Unreal
Android XR Extensions for Unreal(v1.1.0,支持 Unreal Engine 5.6.x 和 5.8.x)是对基础 OpenXR 支持的补充,包含可帮助您打造沉浸式体验的其他功能,例如空间实体、空间和深度光线投射、视口羽化、光线估测立方体贴图、高级手部网格数据以及特定硬件优化。如需了解如何导入和配置此软件包,请参阅 Android XR 扩展程序快速入门或探索适用于 Unreal 的 Android XR 扩展程序 API 参考文档。
获取支持
如果您遇到问题,请参阅支持页面上的 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 扩展字符串 | 提供者 |
|---|---|---|
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.1.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
调试实用程序 |
Unreal 原生 OpenXR |
|
性能设置 |
Unreal 原生 OpenXR |
|
显示屏刷新率 |
Unreal 原生 OpenXR |
|
Android XR Extensions for Unreal (v1.0.0) |
||
Space Warp |
Unreal 原生 OpenXR |
|
Equirect2 合成层 |
Unreal 原生 OpenXR |
|
Android Thread 设置 |
Unreal 原生 OpenXR |
|
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.0.0) |
||
Android XR Extensions for Unreal (v1.1.0) |
||
Android XR Extensions for Unreal (v1.1.0) |
扩展程序由以下来源之一提供:
- Android XR Extensions for Unreal:这些是专为 Android XR 平台开发的 Google 专用扩展程序 (
ANDROID) 和空间实体扩展程序 (EXT)。如需利用这些空间功能,请在.uproject中安装并启用 Android XR 扩展程序插件,并参阅 Android XR 扩展程序 Unreal API 参考文档,了解 Blueprint 和 C++ 用法。 - Unreal 原生 OpenXR:这些功能利用了 Khronos (
KHR)、Extension (EXT) 和 Meta (FB) 标准扩展,这些扩展已直接集成到 Unreal Engine 的核心 OpenXR 插件中并由其维护。