一如承诺,微软在日前举行的混合现实开发者大会中正式发布了MRTK3的公共预览版。微软的开源项目Mixed Reality Toolkit(MRTK)旨在帮助开发者轻松利用Unity开发跨平台MR应用,它同时允许开发者通过编辑器模拟轻松进行原型设计,并立即查看相应的改动。
这个MRTK提供了丰富的组件,用于手和眼追踪、输入、解算器、诊断工具、场景管理等的组件可以帮助你用更少的时间来搭载更出色的体验。通过MRTK构建的体验可以兼容任何支持OpenXR运行时的设备,例如HoloLens和MetaQuest。
对于全新的MRKT3,开发者届时可以选择更轻量级的解决方案。它允许你仅选择所需工具包的组件,而且提供了一个新的交互系统、新的主题和数据绑定功能、Unity画布支持,以及更新的设计语言。另外,本机OpenXR支持更容易定位多个设备,如HoloLens、Meta Quest、Windows Mixed Reality和未来支持OpenXR的设备。
下面关于MRTK3公共预览版的主要内容:
1. 关键优化
架构
基于Unity XR Interaction Toolkit和Unity Input System
以OpenXR为核心
开放和灵活的交互范式
性能
从用户体验到输入,再到子系统,团队重写和重新设计了大多数功能和系统
每帧零内存分配
经过优化后,可在HoloLens 2和其他资源受限的移动平台实现最佳性能
用户界面
新的交互模型
更新的混合现实设计语言
Unity Canvas+3D UX:production级别的动态自动布局
统一的2D和3D输入,支持手柄、鼠标和辅助功能
用于branding、theming、动态数据和复杂列表的数据绑定
无障碍
低视力辅助设备
输入协助
长期支持
OpenXR、Unity 2020.3 LTS、Unity的XR Interaction Toolkit为最低要求
2. 这个公共预览版可用于什么?
尝试最新功能并构建原型
熟悉构建MRTK3的XRI和Unity
评估新的打包策略和依赖模型
探索OpenXR兼容性和功能
了解新的UX系统和可视化设计语言
3. 这个公共预览不应用于什么?
将任何现有项目从2.x迁移至MRTK3。当前API的不稳定性可能会令迁移工作受挫。
编写需要稳定API的production级别代码
评估应用程序的性能(与当前的代码库相比,完整版本可能会出现显著的性能差异)
4. 软件要求
Microsoft Visual Studio:2019 Community版本或以上(推荐 Visual Studio 2022)
Unity:2020.3.35+ 或 2021.3.4+(推荐 LTS)
Mixed Reality Feature Tool for Unity (用于获取MRTK3安装包)
Mixed Reality OpenXR Plugin(通过Mixed Reality Feature Tool安装)
5. 版本控制
对于以前版本的MRTK(HoloToolkit和MRTK v2),所有安装包都是作为一个完整的集合发布,并标有相同的版本号(例如2.8.0)。但从MRTK3开始,每个安装包都将按照Semantic Versioning 2.0.0规范进行单独的版本控制。
注意:MRTK3中的“3”不是版本号。它是底层架构生成的indicator。HoloToolkit是第一代和MRTK v2.x是第二代。
单独的版本控制将能实现更快的服务,同时提高开发者对更改幅度的理解,减少需要更新的安装包数量。
由于这一变化,未来不会有统一的MRTK3产品版本。
为了帮助识别特定的安装包及其版本,MRTK3提供了一个“关于”对话框。其中,它列出了项目中包含的相关包。要访问这个对话框,请从Unity Editor菜单中选择混合现实>MRTK3>关于MRTK。
6. 分支状态
MRTK3目前是公开预览版,不建议在production项目中使用。
MRTK3的部分组件处于开发过程的早期阶段。对于早期预览的软件包,你可以前往Mixed Reality Feature Tool和Unity Package Manager,并通过名称中的“Early Preview”进行识别。
截至2022年6月,以下组件处于早期预览阶段。名称 包名称 Accessibility com.microsoft.mrtk.accessibility Data Binding and Theming com.microsoft.mrtk.data Environment com.microsoft.mrtk.environment
需要注意的是,上述安装包可能不包含计划发布的完整功能集,或者在发布之前可能会经历重大改动。
7. UX构造块
Button:体三维按钮针对各种输入模式进行了优化,包括戳、光线交互、鼠标单击和游戏手柄。
Bounds Control:意图反馈和精度操纵可供性。
Object Manipulator:使用多种输入模式,可用一只或两只手移动和操纵对象。
Hand Menu:一个锚定于手部的UX控件集合,可允许用户轻松访问快速操作。
Near Menu:可以操纵、固定和将其设置为跟随用户的UX控件集合。
Slider:沿一维轴调整值。
Solver:各种对象定位行为,如恒定视图大小和表面磁性。
Dialog:提示用户操作。
Slate:用于显示大格式界面和内容的平面面板。
8. 路线图
下表详细介绍了从公共预览版到GA通用版本的路线图。