针对 HoloLens 的 Unity 开发
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