针对 HoloLens 的 Unity 开发

Unity banner logo

Unity 是市场上领先的实时开发平台之一。 底层运行时代码是用 C++ 编写的,但所有的开发脚本都是使用 C# 创建的。 无论你是想创建游戏、电影和动画,还是想在虚拟世界中呈现建筑或工程概念,Unity 都有提供支持的基础结构。 准备好开始时,请前往下面的开发检查点!

重要

如果你有一个想要引入到 HoloLens 2 的现有 Unity 项目,请查看移植指南。 我们有指南针对正在使用 HTK、MRTK v1 或 SteamVR 的项目。

开发检查点

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

1.入门

若要在 Unity 中进行开发,最简单的方法是使用混合现实工具包。 MRTK 将帮助你自动为混合现实设置项目,并提供一组功能以加速开发过程。 本部分结束时,你将对混合现实工具包有一个基本的了解、对混合现实应用有一个正确配置的开发环境以及一个你自己构建的、可在 Unity 中正常工作的 MRTK 项目。

Checkpoint 业务成效
混合现实工具包简介 通过熟悉混合现实工具包及其所提供的功能开始历程
下载混合现实功能工具 用于发现、更新混合现实功能包并将其添加到 Unity 项目的全新开发人员工具
设置开发人员环境 下载并安装最新 Unity 包,并为混合现实设置你的项目
完成 HoloLens 2 教程系列 深入研究 HoloLens 2 硬件的初学者级别 MRTK 教程

重要

若要在不导入混合现实工具包的情况下创建新的 Unity 项目,需针对 Windows Mixed Reality 手动更改一小组 Unity 设置。 有关详细信息,请查看我们的配置指南

注意

在项目中设置 MRTK 后,标准的 Unity 游戏对象(例如相机)将立即亮起,提供坐定式体验。 可在坐标系统页面上找到有关更改应用程序的体验范围的说明。

2.核心构建基块

混合现实应用程序的所有核心构建基块的公开方式与其他 Unity API 一致。 这些构建基块可以作为独立功能提供,也可以通过混合现实工具包提供。 你可能不需要一次全部使用它们,但建议你尽早进行使用。 深入了解下面列出的核心构建基块后,你将拥有一个工具箱,其中包含了各种你可以集成到混合现实项目中的功能(通过这些功能本身或通过 MRTK 实现)。

功能 功能
Camera 全面优化混合现实应用中的视觉质量和全息影像稳定性
世界锁定和空间定位点 解决稳定性问题、相机调整并集成稳定的坐标系解决方案
共享体验 使用空间定位点共享,在空间中的固定点共同观看同一全息影像并与之交互
凝视 让用户通过查看全息影像来定位它们
运动控制器 向混合现实应用添加空间操作
手势 在混合现实体验中将手势作为输入内容
手部和眼部跟踪 将铰接式手部和眼部跟踪输入集成到用户体验中
空间映射 使用虚拟网格覆盖映射物理空间以标记环境边界
空间音效 使用沉浸式 3D 音频增强应用
文本 获得清晰的高质量文本,其具有可管理的大小和质量渲染
语音输入 捕获用户的口语关键字、短语和听写

3.高级功能

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

功能 功能
照片视频相机 在混合现实应用程序中捕获照片和视频内容
焦点 向 HoloLens 提供有关如何最好地对当前显示的全息影像执行稳定化的提示
失跟 处理设备无法在应用程序世界空间中定位自己的情况
键盘输入 在应用中获取来自现实世界和混合现实键盘的输入

4.部署到设备或仿真器

准备好对全息 Unity 项目进行测试以后,下一步是导出和构建 Unity Visual Studio 解决方案。 有了该 VS 解决方案以后,即可使用下述三种方法之一在真实的或模拟的设备运行应用程序。 本部分结束后,你将能够在适合你的开发需求的任何设备或仿真器上部署应用程序。

5.添加服务

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

Azure 远程渲染 (ARR) 是一项服务,可用于实时渲染高度复杂的 3D 模型。 ARR 目前以公共预览版提供。 可将它添加到面向 HoloLens 2 或 Windows 桌面电脑的 Unity 或 Native C++ 项目中。

我们还提供了一个针对其他 Azure 服务的支持文档的完整列表,你可以自行将这些服务添加到 Unity 项目中。

6. 低代码备选方法

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

下一步操作

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

移植

如果你当前有想要移植的应用,那么接下来请查看以下文章:

教程

如果你希望将特定的混合现实功能添加到应用程序,我们提供了一些精选的教程,可以指导你从头到尾完成整个过程。 下面列出了最受欢迎的 HoloLens 2 和 HoloLens(第一代)内容,但你可以通过访问教程概述查找整个集合。

其他资源

在你自己进入混合现实世界之前,我们建议你先阅读下面列出的与 MRTK 相关的文档。 这些文章详细介绍了 MRTK 是如何工作的,是非常好的起始点,它们将使你深入了解如何使应用更高效。

主题 说明
MRTK 体系结构概述 更深入地了解 MRTK SDK 在项目中的工作方式
设置和性能 分析你的应用、更新 Unity 设置并实现最佳的全息影像稳定性能
MRTK + XR 入门 转到 Unity 提供的替代 XR 管道

Unity 资源

除了此文档,Unity 还配置了适用于 Windows Mixed Reality 功能和 Unity 编辑器的文档。 Unity 提供的文档包括两个单独的部分。

资源 说明
脚本引用 本文档的此部分包含 Unity 提供的脚本编写 API 的详细信息,并可在 Unity 编辑器中通过单击“帮助”>“脚本编写参考”在线进行访问
手动 本手册旨在帮助你了解如何使用 Unity(从基本方法到高级方法),并可在 Unity 编辑器中通过单击“帮助”>“手册”在线进行访问

是否有反馈?

你可在 Unity 论坛上找到我们,标记 Microsoft 和下列标记的组合来帮助我们了解你要就哪种插件提供反馈

  • HoloLens 2
  • Windows Mixed Reality
  • OpenXR
  • XRSDK
  • 旧版 XR