Hololens混合现实开源工具包——MRTK-Unity

微软的混合现实工具包(MRTK)是一个开源的工具包,自2016年HoloLens首次发布以来就一直存在。

MRTK是一套带有插件、样本和文档的组件,旨在帮助使用虚幻引擎或Unity的游戏引擎开发MR应用程序,提供两个版本的解决方案–MRTK-Unity和MRTK for Unreal。

为MR开发者了解MRTK-Unity工具箱
微软驱动的MRTK-Unity是一套组件和功能,用于加速在Unity中创建跨平台的MR应用程序。

它是一个可扩展的框架,允许开发者改变其基本组件,并提供一个跨平台的输入系统和用户界面(UI)动作构建元素。

它还通过允许即时查看变化的编辑内模拟提供快速的原型设计。MRTK-Unity的主要特点之一是,它通过支持一些平台来帮助实现互操作性,包括。

  • OpenXR(Unity 2020.3.8以上) – 微软HoloLens 2和Windows混合现实头盔
  • Windows混合现实–微软HoloLens、微软HoloLens 2和其他Windows混合现实头盔
  • Oculus(Unity 2019.3或更新版本)–Oculus(现在的Meta)Quest
  • OpenVR – Windows混合现实头盔、HTC Vive和Oculus Rift
  • Ultraleap Hand Tracking – Ultraleap Leap Motion控制器
  • 移动VR – iOS和Android

主要特点与功能

1、输入系统
通过输入事件,用户可以配置应用程序来接收来自一些输入源的输入–6度自由(6DoF)控制器、关节手和语音,以及选择或菜单,功能,并将它们与各种输入相关联。此外,设置指针可以被添加到控制器中,以便通过注意力和指针事件管理UI元素。

2、配置文件
MRTK整合了尽可能多的设置,默认锁定了设置页面,以保证你的项目始终有一个一致的起点,并鼓励用户随着项目的进展开始定制设置。这些配置文件包括典型的设置,如边界系统、摄像机设置、远距传输和空间感知,等等。

3、UI控制
有一些用户体验构建块构成了UI控件,其中包括。

  • 按钮–支持多种输入模式,包括HoloLens 2的铰接式手控器
  • 物体操纵器–用于用一只或两只手操纵物体的脚本
  • 交互式 – 用来实现交互式的脚本,支持主题和物体的视觉状态
  • 对象收集 – 用于安排3D资产的脚本
  • 滑块 – 用户界面滑块,用于改变支持直接手部追踪的设置。
  • 工具提示 – 注释用户界面包括一个灵活的锚点/支点机制,用于标记运动控制器和其他项目
  • 语音命令–纳入语音输入的例子和脚本
  • 手部物理服务(实验性)–手部物理服务允许物理对象和动画手之间的互动
  • 码头(实验性)–允许用户操纵物体进出指定的地方
  • 进度指示器 – 用于传达数据过程或操作的视觉指示器
  • 此外,还有眼球追踪的控制:目标选择、导航和热图。

4、解算器
解算器是协助计算物体的位置和方向的元素,它基于预定的算法,为物品和系统提供各种附着行为,如基于摄像头跟踪用户周围的物品。一个解算器可能潜在地连接到一个控制器和一个实体,以使物体跟随控制器。所有的解算器都可以安全地分层,如标签式行为加上表面磁力和动量。

5、空间意识
在MR应用中,空间意识系统通过提供一组代表环境几何形状的网格来提供现实世界中的环境意识,使全息图像和实际世界之间的交流变得耐人寻味。

6、诊断系统
混合现实设备套件诊断系统提供了在应用程序内部操作的诊断工具,以分析应用程序的故障。MRTK-Unity的诊断系统初始版中包含了Visual Profiler,以实现对应用程序性能问题的分析。