MRTK V2
混合现实开发工具包(MRTK)是一个跨平台的工具集,它可以帮助你构建MR(混合现实),VR(虚拟现实)以及AR(增强现实)程序。
前期准备
在开始工作前,你需要安装以下开发工具:
MRTK在Unity2018中同时支持IL2CPP和.NET两种脚本后端。
- 最新的 MRTK f发布版本
- Windows SDK 18362+.
如果你需要构建WMR\HoloLens1 \HoloLens2程序,你需要构建UWP平台程序,否则,你只需要支持OpenVR就足够了。
入门教程
如果您是MRTK或混合现实开发的新手,我们建议您查看使用MRTK v2的入门教程。
把MRTK配置到你的Unity工程中来
- 去到MRTK的发布页面。
- 下载以下数据包
- Microsoft.MixedRealityToolkit.Unity.Foundation.unitypackage
- Microsoft.MixedRealityToolkit.Unity.Extensions.unitypackage
- Microsoft.MixedRealityToolkit.Unity.Tools.unitypackage
- Microsoft.MixedRealityToolkit.Unity.Examples.unitypackage
如果需要了解相关的细节,可以查看 Downloading the MRTK.
选择你的Unity目标平台
再导入MRTK包进入你的工程之前,需要你选择正确的发布平台。
如果你需要创建一个HoloLens程序,你就需要切换平台到Universal Windows Platform(UWP)。
- 打开目录:File > Build Settings
- 在Platform 列表下选择 Universal Windows Platform
- 点击Switch Platform 按钮
导入MRTK包进入你的Unity工程中
- 创建一个新的Unity项目,或者打开一个现有的项目。创建项目时,请确保选择“3D”作为模板类型。
- 导入Microsoft.MixedRealityToolkit.Unity.Foundation。进入“Asset -> Import Package -> Custom Package”,选择.unitypackage文件,确保选中所有要导入的项目,然后选择“Import”。
- 导入Microsoft.MixedRealityToolkit.Unity.Examples。unitypackage遵循与上面相同的步骤。示例包是可选的,并且包含了当前MRTK特性的有用演示场景。
- 导入Microsoft.MixedRealityToolkit.Unity.Tools。unitypackage遵循与foundation包相同的步骤。这些工具包是可选的,并且包含有用的工具,比如ExtensionServiceCreator,它们增强了MRTK开发人员的体验。
- 导入Microsoft.MixedRealityToolkit.Unity.Extensions。unitypackage遵循与foundation包相同的步骤。扩展包为MRTK提供了一组有用的可选组件。
导入Foundation包后,可能会看到如下设置提示:
MRTK正在帮助您开启混合现实项目,在这个过程中做了以下工作:
- 为当前平台启用XR设置(启用XR复选框)。
- 强制开启文本序列 和可视化Meta文件(用于使用源代码控制的Unity项目)
虽然看起来这些是可选的选项,但还是强烈建议你在这里选择开启。
某些预设和资源需要TextMeshPro插件的支持,你需要在 (Window -> TextMeshPro -> Import TMP Essential Resources) 选择导入相应插件(TMP ),别忘了重重新启动Unity之后才能看到相应的效果。
在编辑器中打开并运行HandInteractionExamples场景
HandInteractionExamples场景
hand interaction examples场景是一个很好的起点,因为它显示了MRTK中各种各样的UX控件和交互。首先,我们将导入MRTK,打开示例场景,并在编辑器中探索一下。
- 创建一个新的Unity项目,然后按照上面的步骤导入基础(Foundation )和示例(Examples )Unity包。
- 打开 Assets\MixedRealityToolkit.Examples\Demos\HandTracking\Scenes\HandInteractionExamples下的HandInteractionExamples场景
您可能会收到一个提示,要求您导入“TMP Essentials”。
如果您得到这样一个提示,选择“Import TMP essentials”按钮。“TMP Essentials”指的是Text Mesh Pro插件,一些MRTK的例子使用这个插件来改进文本渲染。(详情请参阅Unity中的文本)
- 关闭TMP对话框。之后你需要重新加载场景。您可以通过双击project选项卡中的场景来实现这一点。
- 按下Play按钮。
使用编辑器中的模拟手输入来测试场景
编辑器内输入模拟允许您测试给定特定输入类型(如手或眼睛)的虚拟对象行为。如何在场景中移动:
- 使用W/A/S/D键将相机向前/向左/向后/向右移动。
- 按住鼠标右键旋转相机。
如何模拟手输入:
- 按住空格键,切换右手可用。
- 按住空格键时,移动鼠标来移动手。
- 使用鼠标中轴滚动来调整手的深度。
- 点击鼠标左键切换手势。
祝你玩得愉快!您可以在手动交互示例指南中了解更多关于UI控件的信息。另外,阅读输入模拟文档,了解更多关于MRTK中编辑器内手动输入模拟的信息。
恭喜你,你刚刚用了你的第一个MRTK场景。从此开始谱写你自己的经历吧。
将MRTK添加到新场景或新项目中
- 创建一个新的Unity项目,或者在你当前的项目中开始一个新的场景。
- 确保您已经按照上面的步骤导入了MRTK包(我们推荐基础和示例,但示例不是必须的)。
- 从菜单栏,选择混合现实工具包->添加到场景和配置
你会见到下面的画面
点击”OK”按钮。
然后将提示您选择MRTK配置概要文件。双击“DefaultMixedRealityToolkitConfigurationProfile”。
注意:如果您开始使用HoloLens2,那么应该选择“DefaultHoloLens2ConfigurationProfile”。有关DefaultMixedRealityToolkitConfigurationProfile和DefaultHoloLens2ConfigurationProfile之间的区别的更多信息,请参见配置文件。
然后你会在你的场景Hierarchy中看到以下内容:
之后做什么
以下是一些建议的下一步:
- 添加一个PressableButton到您的场景(我们建议使用PressableButtonPlated prefab开始)。
- 向场景中添加一个立方体,然后使用PressableButtonPlated 组件使其可移动。
- 了解MRTK中UI和交互构建块中可用的UX控件。
- 阅读输入模拟指南,学习如何在编辑器中模拟手输入。
- 了解如何在混合现实配置指南中使用MRTK配置概要文件。
、
Button
一个按钮控件,支持各种输入方法,包括HoloLens 2的手触摸
Bounding Box
用于在三维空间中操作对象的标准UI
Manipulation Handler
用一只或两只手操纵对象的脚本
Slate
二维风格的平面,支持滚动与手触摸的输入
System Keyboard
在Unity中使用系统键盘的例子脚本
Interactable
使对象具有可视状态和主题支持的可交互性的脚本
Solver
各种对象定位行为,如尾随,车身锁定,恒视尺寸和表面磁性
Object Collection
用于以三维形状布局对象数组的脚本
Tooltip
带有灵活锚/枢轴系统的标注UI,可用于标注运动控制器和对象。
App Bar
Bounding Box’所使用的UI
Pointers
了解各种类型的指针
Fingertip Visualization
指尖的视觉启示,提高了直接互动的反馈
Slider
滑块UI,用于调整支持直接手动跟踪交互的值
MRTK Standard Shader
MRTK的标准着色器支持各种流畅的设计元素与性能
Hand Joint Chaser
演示如何使用求解程序将对象附加到手部关节
Eye Tracking: Navigation
结合眼睛,声音和手的输入,快速和毫不费力地选择全息图通过您的场景
Eye Tracking: Heat Map
学习如何自动滚动文本或流畅地放大聚焦内容的基础上,你正在看的方向
Eye Tracking: Heat Map
用于记录、加载和可视化用户在应用程序中查看的内容的示例。
原创文章,作者:游戏开发极客,如若转载,请注明出处:https://hololens2.cn/%e2%80%8bhololens2%e5%bc%80%e5%8f%91%e6%8c%87%e5%8d%97-%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8-mrtk/