什么是混合现实工具包 2?
MRTK-Unity 是由 Microsoft 驱动的项目,它提供了一系列组件和功能来加速 Unity 中的跨平台 MR 应用开发。 以下是它的一些功能:
- 为空间交互和 UI 提供跨平台输入系统和构建基块。
- 通过编辑器内模拟实现快速原型制作,让你能够立即看到变化。
- 作为可扩展的框架运行,使开发人员能够交换出核心组件。
- 支持一系列广泛的设备:
XR SDK 插件(Unity XR 插件管理插件提供程序) | 支持的设备 |
---|---|
Unity OpenXR 插件(Unity 2020 或 2021 LTS) (某些设备上的某些功能所需的混合现实 OpenXR 插件) |
Microsoft HoloLens 2 Windows Mixed Reality 头戴显示设备 Meta Quest 通过 OpenXR 在 SteamVR 上运行的设备 |
Windows XR 插件 | Microsoft HoloLens Microsoft HoloLens 2 Windows Mixed Reality 头戴显示设备 |
Oculus XR 插件(Unity 2019 或更高版本的 LTS) | Meta Quest(通过 Oculus 集成包) |
ARCore XR 插件 | Android(通过 AR Foundation) |
ARKit XR 插件 | iOS(通过 AR Foundation) |
XR SDK 插件(Unity XR 插件管理插件提供程序) | 支持的设备 |
---|---|
Unity OpenXR 插件(MRTK 2.6、Unity 2020 或 2021 LTS 中的预览版) (某些设备上的某些功能所需的混合现实 OpenXR 插件) |
Microsoft HoloLens 2 Windows Mixed Reality 头戴显示设备 Meta Quest 通过 OpenXR 在 SteamVR 上运行的设备 |
Windows XR 插件 | Microsoft HoloLens Microsoft HoloLens 2 Windows Mixed Reality 头戴显示设备 |
Oculus XR 插件(Unity 2019 或更高版本的 LTS) | Meta Quest(通过 Oculus 集成包) |
ARCore XR 插件 | Android(通过 AR Foundation) |
ARKit XR 插件 | iOS(通过 AR Foundation) |
受支持的其他设备:
- 用于手部跟踪的 Ultraleap Leap Motion 控制器
注意
我们引入了 MRTK3 的公共预览版,这是 MRTK 的下一章。 有关详细信息,请转到 MRTK3 文档。
MRTK 入门
如果你不熟悉 Unity 中的 MRTK 或混合现实开发,建议在设备或模拟器上安装并浏览 MRTK 示例中心示例应用程序。
在熟悉混合现实和 MRTK 的内容后,请安装所需的工具,并遵循初级级别 HoloLens 2 教程系列操作。
想要查看后台正在执行的情况?
文档
发行说明 |
MRTK 概述 |
API 参考 |
---|
生成状态
分支 | CI 状态 | 文档状态 |
---|---|---|
main |
功能区域
UX 构建基块
按钮
一种支持各种输入方法(包括 HoloLens 2 关节式手部)的按钮控件
边界控制
用于模拟 3D 空间中的对象的标准 UI
对象操控器
用于通过单手或双手操控对象的脚本
场记板
支持通过关节式手部输入进行滚动的 2D 样式平面
系统键盘
用于在 Unity 中使用系统键盘的示例脚本
可交互对象
用于使对象可与可视状态和主题支持进行交互的脚本
求解器
各种对象定位行为,例如尾随、跟随人体、常量视图大小和表面磁性
对象集合
用于在三维形状中布设一组对象的脚本
工具提示
具有灵活定位点/透视系统的注释 UI,可用于标记运动控制器和对象
滑块
用于调整支持直接手部跟踪交互的值的滑块 UI
MRTK 标准着色器
MRTK 的标准着色器支持各种 Fluent 设计元素并提供高性能
手动菜单
使用手部约束求解器实现快速访问的手部锁定 UI
应用栏
用于边界控制的手动激活的 UI
指针
了解各种类型的指针
指尖可视化
指尖上的视觉可供性,可提高直接交互的置信度
追踪菜单
用于追踪交互的浮动菜单 UI
空间感知视图
让全息对象与物理环境进行交互
语音命令
用于集成语音输入的脚本和示例
进度指示器
用于传达数据进度或操作的可视指示器
对话框
用于请求用户确认或认可的 UI
手部指导
在未告知手势时帮助引导用户的组件
手部物理服务 [试验性]
通过手部物理服务,可实现刚体碰撞事件和与关节式手部的交互
滚动集合
本机滚动 3D 对象的一个对象集合
停靠 [试验性]
通过停靠功能,可将对象移入和移出预定位置
眼动跟踪:目标选择
将眼睛、语音和手部输入组合起来,以快速轻松地在场景中选择全息影像
眼动跟踪:导航
了解如何根据要查看的内容自动滚动文本或流畅地放大到聚焦内容
眼动跟踪:热图
记录、加载和直观显示用户已在你的应用中查找的内容的示例
工具
优化窗口 | 依赖关系窗口 | 生成窗口 | 输入记录 |
---|---|---|---|
自动配置混合现实项目来优化性能 | 分析资产之间的依赖关系并确定未使用的资产 | 为混合现实应用程序配置和执行端到端生成进程 | 在编辑器中记录和播放头部移动和手部跟踪数据 |
示例场景
MRTK 提供了示例场景来演示如何使用 MRTK 的功能。 可在 Assets/MRTK/Examples/Demos 文件夹下找到示例场景。 请阅读示例场景页面,了解如何获取和运行示例场景。 通过手部交互示例场景,可开始体验用于交互和 UI 的 MRTK 构建基块。
MRTK 示例中心
通过 MRTK 示例中心,无需构建和部署各种示例场景即可在 MRTK 中试用它们。 可在 MR 功能工具中选择“混合现实工具包示例”包,为 HoloLens (x86)、HoloLens 2 (ARM) 和 Windows Mixed Reality 沉浸式头戴显示设备 (x64) 下载预生成的应用包。 请务必使用 Windows 设备门户在 HoloLens(第一代)上安装应用。 在 HoloLens 2 上,可通过 Microsoft Store 应用下载和安装 MRTK 示例中心。
请查看示例中心 README 页面,详细了解如何使用 MRTK 的场景系统和场景过渡服务创建多场景中心。
使用 MRTK 创建的示例应用
元素周期表是一款开源示例应用,它演示了如何使用 MRTK 的输入系统和构建基块打造适合 HoloLens 和沉浸式头戴显示设备的应用体验。 阅读迁移案例:使用 MRTK v2 将“元素周期表”应用引入 HoloLens 2 | 星系探索者是一款开源示例应用,它最初是 2016 年 3 月作为 HoloLens 的“分享你的创意”活动的一部分开发出来的。 而借助 MRTK v2,“星系探索者”应用已经过更新,具有适合 HoloLens 2 的新功能。 阅读文章:创建适合 HoloLens 2 的“星系探索者”应用 | 表面是一款适合 HoloLens 2 的开源示例应用,它探讨了我们可如何使用视觉、音频和含义清晰的手部跟踪来创建触觉。 若要了解详细设计和开发案例,请查看混合现实开发日活动的研讨会:从“表面”应用中学到的知识 |
来自 2020 年混合现实开发日活动的研讨会视频
查看教程了解如何从头开始创建简单的 MRTK 应用。 了解交互概念和 MRTK 的多平台功能。 | 深入了解 MRTK 的 UX 构建基块,它们可帮助你构建精美的混合现实体验。 | 介绍 MRTK 内部和外部的性能工具以及概述 MRTK 标准着色器。 |
若要查看更多研讨会视频,请查看混合现实开发日。
与社区互动
在 Stack Overflow 上就 MRTK 的使用提问并附上 MRTK 标记。
若要就如何向 MRTK 贡献内容提问,请转到 Stack 上的 mixed-reality-toolkit 频道。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答;若有其他任何问题或意见,请联系 opencode@microsoft.com。
混合现实开发人员中心的有用资源
发现 | 设计 | 开发 | 分发 |
---|---|---|---|
了解如何打造适合 HoloLens 和沉浸式头戴显示设备 (VR) 的混合现实体验。 | 获取设计指南。 构建用户界面。 了解交互和输入。 | 获取开发指南。 了解相关技术。 了解相关科学。 | 让应用做好供他人使用的准备,并考虑创建 3D 启动器。 |
Azure 上的有用资源
空间定位点 |
语音服务 | 视觉服务 |
---|---|---|
空间定位点是一项跨平台的服务;借助它,你可使用一段时间内在各设备中位置不变的对象来创建混合现实体验。 | 发现 Azure 支持的语音功能(例如语音转文本、说话人识别或语音翻译)并将其集成到应用程序中。 | 使用视觉服务(例如计算机视觉、人脸检测、情感识别或视频索引器)标识和分析图像或视频内容。 |
如何参与
可参与页面了解可如何向 MRTK 贡献内容。
获取帮助
如果遇到 MRTK 导致的问题,或者对如何执行某些操作存在疑问,下面几项资源可提供帮助:
- 若要报告 bug,请在 GitHub 存储库上提问。
- 如有一文,请在 StackOverflow 上进行联系,或在 Slack 上的 mixed-reality-toolkit 频道中联系。 可通过自动邀请发送程序加入 Slack 社区。