Unreal Engine 对 XR 开发的支持基于 OpenXR 标准构建,确保 Android XR 支持的 OpenXR 功能在 Unreal 中得到原生支持。
按照本指南了解以下内容:
- 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 开发文档,了解基本概念和工作流程。以下是一些需要探索的关键领域:
- XR 框架:了解如何通过将相机组件(表示头戴设备)和手部输入(表示手部)附加到共享场景根来构建 VR Pawn。
- OpenXR 插件:用于支持 Android XR 设备的核心接口。
- XR 架构:Unreal 如何处理技术堆栈和 XR 子系统。
- 项目设置:配置
.uproject以进行空间渲染。 - 图形指南:利用注视点渲染、多视图和可变速率着色 (VRS)。
- 性能和剖析:用于优化 XR 应用的工具和技术。
- 最佳实践:用于创建舒适且沉浸感十足的 XR 体验的设计和开发指南。
开发和发布 Android 应用
Unreal Engine 提供了全面的文档,用于介绍如何针对 Android 进行开发、构建和发布。本文档介绍了如何在引擎中管理 Android 权限、配置 Android build 设置(通过“项目设置”>“平台”>“Android”)以及使用 Unreal Automation Tool (UAT)。
此外,请参阅打包和分发 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 文档。
适用于 Unreal 的 Android XR 扩展
Unreal 的 Android XR 扩展程序是对基本 OpenXR 支持的补充,包含其他功能,可帮助您打造沉浸式体验,例如高级手部网格数据和特定硬件优化。如需了解如何导入和配置此软件包,请按照 Android XR 扩展程序快速入门操作。
获取支持
如果您遇到问题,请访问我们的支持页面,参阅 Unreal Engine 支持部分以获取帮助。
输入和互动
创建互动式空间体验需要将身体动作映射到数字操作。Unreal Engine 使用增强型输入系统与 OpenXR 相结合来处理运动控制器和手部跟踪。通过设置输入操作和输入映射上下文,您可以创建灵活的互动(例如抓取、指点和界面导航),这些互动可以无缝地在不同的 Android XR 输入方法之间切换。
如需有关构建这些机制的全面指南,请参阅 Unreal Engine 关于打造互动式 XR 体验的文档。
Android XR 支持 Unreal Engine 中的以下特定互动方法:
互动配置文件
您可以在“项目设置”的“OpenXR”部分中配置互动配置文件。这样,您的应用就可以在不同的控制器和跟踪方法之间保持一致的输入映射。
手部互动
手部互动通过 OpenXR 手部跟踪扩展程序提供。您可以通过蓝图或 C++ 中的 XR Tracking 组件访问手部关节数据和姿势。
凝视互动
眼球注视数据可以作为标准输入姿势进行检索,从而让您驱动界面焦点或社交状态功能。这需要 android.permission.EYE_TRACKING_FINE 权限。
面部跟踪
访问实时面部表情数据,为虚拟形象添加动画效果或推动社交互动。此功能使用 XR_ANDROID_face_tracking 扩展服务。
支持的扩展程序
在 Unreal 中为 Android XR 进行开发时,支持以下 OpenXR 扩展:
| 功能或能力 | OpenXR 扩展字符串 | 提供者 |
|---|---|---|
设备锚点持久性 |
适用于 Unreal 的 Android XR 扩展 |
|
Raycast |
适用于 Unreal 的 Android XR 扩展 |
|
可跟踪对象(平面/深度) |
适用于 Unreal 的 Android XR 扩展 |
|
对象跟踪 |
适用于 Unreal 的 Android XR 扩展 |
|
场景网格化 |
适用于 Unreal 的 Android XR 扩展 |
|
面部跟踪 |
适用于 Unreal 的 Android XR 扩展 |
|
眼动追踪 |
适用于 Unreal 的 Android XR 扩展 |
|
透视摄像头状态 |
适用于 Unreal 的 Android XR 扩展 |
|
透视网格层 |
适用于 Unreal 的 Android XR 扩展 |
|
深度纹理 |
适用于 Unreal 的 Android XR 扩展 |
|
光照估计 |
适用于 Unreal 的 Android XR 扩展 |
|
性能指标 |
适用于 Unreal 的 Android XR 扩展 |
|
推荐的解决方法 |
适用于 Unreal 的 Android XR 扩展 |
|
手部互动 |
适用于 Unreal 的 Android XR 扩展 |
|
调试实用程序 |
Unreal Native OpenXR |
|
性能设置 |
Unreal Native OpenXR |
|
显示刷新频率 |
Unreal Native OpenXR |
|
手部跟踪网格 |
适用于 Unreal 的 Android XR 扩展 |
|
太空扭曲 |
Unreal Native OpenXR |
|
Equirect2 合成层 |
Unreal Native OpenXR |
|
Android Thread 设置 |
Unreal Native OpenXR |
扩展程序由以下来源之一提供:
- 适用于 Unreal 的 Android XR 扩展程序:这些是 Google 针对 Android XR 平台开发的特定扩展程序 (
ANDROID)。如需利用这些空间功能,您必须在 .uproject中安装并启用 Android XR 扩展插件。 - Unreal Native OpenXR:这些功能利用了 Khronos (
KHR)、扩展程序 (EXT) 和 Meta (FB) 标准扩展程序,这些扩展程序已直接集成到 Unreal Engine 的核心 OpenXR 插件中并由其维护。