Unreal 开发概述

Unreal 横幅徽标

重要

Microsoft & Unreal 已停止对 HoloLens 2 Unreal Engine 的支持。 客户可以继续使用 Unreal Engine 为 HoloLens 2 开发应用程序,但支持已停止(无 bug 修复、内容更新或技术支持)。 现有应用程序将继续在 Unreal 4 的最后一个版本上运行。 可以使用 Unity 开发 HoloLens 2 应用程序。

开始使用混合现实应用程序是一个重大任务。 新概念、平台和前沿硬件看似都障碍重重。 但是,如果你是 Unreal 的开发人员,那么你很幸运。 Unreal Engine 5 具有对 Windows Mixed Reality (VR) 和 HoloLens 2 (AR) 设备的完全支持。

最新的 Unreal Engine 4.27+ 版本包括:

  • Windows Mixed Reality (WMR) 插件替换为 OpenXR 和 Microsoft OpenXR 插件(MarketplaceGitHub
  • OpenXR 提供与 WMR 相同的功能
  • 用于跨平台开发的 Unified API
  • OpenXR 可用于在引擎中创建应用程序 - Microsoft OpenXR 插件提供的完整功能集
  • Microsoft OpenXR 插件更新在准备就绪时发布,而不是引擎内更新
  • 使用适用于 Unreal 的 Graphics Tools 提高混合现实应用程序的视觉保真度,同时保持性能
  • Unreal 5.0 中删除了 HoloLensAR 插件
  • 支持 World Locking Tools (5.0+)
  • 支持 Azure Object Anchors (4.27+)

有关详细信息,请参阅 Unreal Engine 5.0 发行说明

如果你不熟悉 Unreal 开发,请勿直接跳转。 浏览 Unreal 资源,并在 Unreal 市场中查看资产。 还可在混合现实论坛Unreal 文档中查找支持。 这些资源是指向当今的混合现实市场中的构建者和问题解决者的社区的链接。

重要

如果你有一个现成的 Unreal 项目想要引入到沉浸式头戴显示设备(例如 Reverb G2)中,请查看我们的移植指南

开发检查点

使用以下检查点,将 Unreal 游戏和应用程序带入混合现实的世界。 如果你尚未浏览设计全息影像示例应用程序,建议下载它来熟悉混合现实 UX 的基本知识。

1.入门

首先,需要安装用于 HoloLens 2 开发的工具。 接下来,阅读我们的教程系列,基本了解混合现实工具包、为混合现实应用正确配置的开发环境以及在 Unreal 中运行的 MRTK 项目。 从 Unreal 4.26 开始,还可以选择为 HoloLens 2 开发 OpenXR 应用。

Checkpoint 业务成效
安装最新工具 下载并安装最新版 Unreal Engine,并为你的项目设置混合现实
设置项目 获取最新版 Unreal Engine 和 MRTK
创建第一个 HoloLens Unreal 应用程序 通过构建一个基本的混合现实应用程序,开始 Unreal 和 HoloLens 开发旅程
HoloLens 2 教程系列 在 Unreal 中设置混合现实开发,使用 MRTK 构建首款应用,然后将该应用部署到 HoloLens 2
Unreal 中的 OpenXR 入门 从 Unreal Engine Marketplace 安装并启用以下插件:确保 Microsoft Windows Mixed Reality 插件已禁用。

下面是 OpenXR 当前支持的功能的完整列表。

2.核心构建基块

许多主要混合现实功能在教程系列中未涉及。 这些构建基块可以作为独立功能提供,也可以通过混合现实工具包提供。 你可能不需要一次全部使用它们,但建议你尽早进行使用。 深入了解下面列出的核心构建基块后,你将拥有一个工具箱,其中包含了各种你可以集成到混合现实项目中的功能。

适用于 Unreal 的混合现实工具包是一组设计用于在 Unreal 中加快开发速度的插件。 每个插件都包含用于设置沉浸式体验的组件、示例和文档。

  • 适用于 Unreal 的 UX Tools 是第一个要发布的插件,目前仅在 HoloLens 2 上受支持。 此插件包括 C++ 代码、蓝图,以及用于输入模拟、手部交互、表面磁性等的常见 UX 功能的示例资产。

  • 适用于 Unreal 的 Graphics Tools 是 UE 游戏插件,其中创建了代码、蓝图和示例资产,有助于优化混合现实应用程序的视觉保真,同时不超出性能预算。

功能 功能
输入模拟 在编辑器中使用鼠标和键盘输入来模拟头盔式显示器 (HMD) 和手部跟踪功能
手动交互 使用铰接式手部输入与 UX 组件进行交互
可按按钮 通过低级别组件驱动按钮蓝图的状态
操控器 使用单手或双手操作输入移动和旋转 Actor
跟踪行为 保持 Actor 或组件在另一个组件的视线范围内

注意

有关更多详细信息,可以深入了解适用于 Unreal 的 UX Tools GitHub 存储库。

3.高级功能

在混合现实应用程序中起作用的其他关键功能可用,无需任何额外的包或设置。 可以在安装或未安装 MRTK 的情况下将这些功能添加到 Unreal 项目中。 深入了解这些更高级功能后,你将可以生成更复杂的混合现实应用。

功能 功能
HoloLens 摄像头 从在 HoloLens 设备上运行的应用捕获混合现实视觉内容和真实世界视觉内容
QR 码 使用坐标系统在每个 QR 码的真实世界位置将 QR 码呈现为全息影像
WinRT 使用可由 Unreal 的生成系统使用的 WinRT 代码创建一个单独的二进制文件

4.流式传输并部署到设备

如果你想要在 HoloLens 设备上测试仍处于开发阶段的应用程序,则可以使用 Unreal 编辑器或打包的 Windows 可执行文件从电脑直接流式传输该应用程序

如果这是你第一次将 Unreal 应用部署到 HoloLens 2,则需要从 Epic Launcher 下载支持文件。 安装这些文件后,即可从 Unreal 编辑器设备门户进行部署。

5.添加服务

在开发历程中的这个阶段,你可能希望添加服务或寻求商业部署方面的帮助。 集成 Azure 云服务可以在很大程度上提高项目的水平。 我们已编译了几个入门点,用于探索和扩展你的混合现实知识。

Azure 空间定位点 (ASA) 是一项跨平台服务,可用于构建空间感知的混合现实应用程序。 借助 Azure 空间定位点,你可按真实世界的规模跨多台设备映射、保存和共享全息内容。

6. 低代码备选方法

Microsoft Dynamics 365 Guides 是适用于 Microsoft HoloLens 的混合现实应用程序,它通过在需要时随时随地提供全息说明,使操作员可以在工作流期间进行学习。 这些说明卡在视觉上绑定在必须完成工作的位置,并且可以包括图像、视频和 3D 全息模型。

下一步操作

开发人员的工作一直在更新,特别是在学习新工具或 SDK 时。 以下部分将带你进入你已完成的初学者级别资料之外的其他领域,并在你遇到问题时提供有用的资源。 请注意,这些主题和资源不按任何顺序排列,因此请随意查看并探索!

调试

如果希望使用 Visual Studio 对在设备上运行的应用程序进行调试,请按照以下说明操作。

性能

混合现实开发附带依赖于平台的性能检查点。 HoloLens 2 应用必须以每秒 60 帧的速度运行,才能使全息影像稳定显示且快速响应。 幸运的是,我们提供了有关在 Unreal 应用程序中升级性能的性能建议

支持的功能

HoloLens 2 功能 最早支持的 Unreal Engine 版本 在 OpenXR 中受支持 (4.26+)
ARM64 支持 4.23 ✔️
从电脑进行流式传输 4.23 ✔️
空间映射 4.23 ✔️
手动和联合跟踪 4.23 ✔️
眼动跟踪 4.23 ✔️
语音输入 4.23 ✔️
空间定位点 4.23 ✔️
摄像头访问 4.23 ✔️
QR 码 4.23 ✔️
空间音频 4.23 ✔️
通过流式传输的平面 LSR 4.24
示例应用 4.24 ✔️
移动多视图:性能达到 60 fps 4.25 ✔️
从打包的桌面应用进行流式传输 4.25.1 ✔️
面向 HoloLens 2 的 Azure 空间定位点 4.25 ✔️
混合现实 UX Tools 支持 4.25 ✔️
开发人员文档和教程 4.25 ✔️
系统键盘 4.26 ✔️
HoloLens Media Player 插件 4.26 ✔️
适用于 iOS 和 Android 的 Azure 空间定位点 4.26
具有 Microsoft 供应商特定 OpenXR 扩展的 Microsoft OpenXR 插件 4.26 ✔️
从 Azure 流式传输到 HoloLens 2 4.26 ✔️
适用于打包应用的 Windows 应用认证工具包合规性 4.26 ✔️
HP Reverb G2 手柄支持 4.26 ✔️

另请参阅