text无法使用空格 unity_HoloLens2开发指南开始使用 MRTK

本文介绍了如何开始使用混合现实工具包(MRTK)进行HoloLens2开发,包括需要的开发环境、MRTK的导入、平台配置,以及编辑器内的手部输入模拟。通过HandInteractionExamples场景,开发者可以了解和测试MRTK的各种交互控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5a0af821326e1a589bfedbff4bacfe7a.png

混合现实开发工具包(MRTK)是一个跨平台的工具集,它可以帮助你构建MR(混合现实),VR(虚拟现实)以及AR(增强现实)程序。http://MrPP.com开始翻译这些文档。

前期准备

在开始工作前,你需要安装以下开发工具:

  • Visual Studio 2019

  • Unity 2018.4.x, 2019.1.x 或者 2019.2.x

MRTK在Unity2018中同时支持IL2CPP和.NET两种脚本后端。

  • 最新的 MRTK f发布版本

  • Windows SDK 18362+.

如果你需要构建WMR\HoloLens1 \HoloLens2程序,你需要构建UWP平台程序,否则,你只需要支持OpenVR就足够了。

入门教程

如果您是MRTK或混合现实开发的新手,我们建议您查看使用MRTK v2的入门教程。

把MRTK配置到你的Unity工程中来

  1. 去到MRTK的发布页面。

  2. 下载以下数据包

  • 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工程中

  1. 创建一个新的Unity项目,或者打开一个现有的项目。创建项目时,请确保选择“3D”作为模板类型。

  2. 导入Microsoft.MixedRealityToolkit.Unity.Foundation。进入“Asset -> Import Package -> Custom Package”,选择.unitypackage文件,确保选中所有要导入的项目,然后选择“Import”。

  3. 导入Microsoft.MixedRealityToolkit.Unity.Examples。unitypackage遵循与上面相同的步骤。示例包是可选的,并且包含了当前MRTK特性的有用演示场景。

  4. 导入Microsoft.MixedRealityToolkit.Unity.Tools。unitypackage遵循与foundation包相同的步骤。这些工具包是可选的,并且包含有用的工具,比如ExtensionServiceCreator,它们增强了MRTK开发人员的体验。

  5. 导入Microsoft.MixedRealityToolkit.Unity.Extensions。unitypackage遵循与foundation包相同的步骤。扩展包为MRTK提供了一组有用的可选组件。

导入Foundation包后,可能会看到如下设置提示:

8478049c122266488322796949987d84.png

MRTK正在帮助您开启混合现实项目,在这个过程中做了以下工作:

  • 为当前平台启用XR设置(启用XR复选框)。

  • 强制开启文本序列 和可视化Meta文件(用于使用源代码控制的Unity项目)

虽然看起来这些是可选的选项,但还是强烈建议你在这里选择开启。

某些预设和资源需要TextMeshPro插件的支持,你需要在 (Window -> TextMeshPro -> Import TMP Essential Resources) 选择导入相应插件(TMP ),别忘了重重新启动Unity之后才能看到相应的效果。

在编辑器中打开并运行HandInteractionExamples场景

a5694f4718dbcaede7fe388ccdc69d24.png

hand interaction examples场景是一个很好的起点,因为它显示了MRTK中各种各样的UX控件和交互。首先,我们将导入MRTK,打开示例场景,并在编辑器中探索一下。

  1. 创建一个新的Unity项目,然后按照上面的步骤导入基础(Foundation )和示例(Examples )Unity包。

  2. 打开  Assets\MixedRealityToolkit.Examples\Demos\HandTracking\Scenes\HandInteractionExamples下的HandInteractionExamples场景

您可能会收到一个提示,要求您导入“TMP Essentials”。

d19c515675b43118009768f078e6b9b1.png

如果您得到这样一个提示,选择“Import TMP essentials”按钮。“TMP Essentials”指的是Text Mesh Pro插件,一些MRTK的例子使用这个插件来改进文本渲染。(详情请参阅Unity中的文本)

  1. 关闭TMP对话框。之后你需要重新加载场景。您可以通过双击project选项卡中的场景来实现这一点。

  2. 按下Play按钮。

使用编辑器中的模拟手输入来测试场景

编辑器内输入模拟允许您测试给定特定输入类型(如手或眼睛)的虚拟对象行为。

如何在场景中移动:

  • 使用W/A/S/D键将相机向前/向左/向后/向右移动。

  • 按住鼠标右键旋转相机。

如何模拟手输入:

  • 按住空格键,切换右手可用。

  • 按住空格键时,移动鼠标来移动手。

  • 使用鼠标中轴滚动来调整手的深度。

  • 点击鼠标左键切换手势。

祝你玩得愉快!您可以在手动交互示例指南中了解更多关于UI控件的信息。另外,阅读输入模拟文档,了解更多关于MRTK中编辑器内手动输入模拟的信息。

恭喜你,你刚刚用了你的第一个MRTK场景。从此开始谱写你自己的经历吧。

将MRTK添加到新场景或新项目中

  1. 创建一个新的Unity项目,或者在你当前的项目中开始一个新的场景。

  2. 确保您已经按照上面的步骤导入了MRTK包(我们推荐基础和示例,但示例不是必须的)。

  3. 从菜单栏,选择混合现实工具包->添加到场景和配置

    6fd8202947f75b33e0cb6cc6195f4960.png

  4. 你会见到下面的画面

    09f8a8c0c99af388700bcd52199634ef.png

    点击"OK"按钮。

  5. 然后将提示您选择MRTK配置概要文件。双击“DefaultMixedRealityToolkitConfigurationProfile”。

39dcd337bd5b72b7094fb6637bf98da6.png

注意:如果您开始使用HoloLens2,那么应该选择“DefaultHoloLens2ConfigurationProfile”。有关DefaultMixedRealityToolkitConfigurationProfile和DefaultHoloLens2ConfigurationProfile之间的区别的更多信息,请参见配置文件。

然后你会在你的场景Hierarchy中看到以下内容:

d4714b354bbd0fa73516d9ee4d53ad34.png

其中包括以下内容:

  • 混合现实工具包——工具包本身,为整个框架提供了中心配置入口点。

  • MixedRealityPlayspace— 头显的父节点,确保头显/控制器和其他所需系统在场景中得到正确管理。

  • 主相机(Main Camera)作为Playspace子节点——这允许Playspace与SDK一起管理主相机

注意,在你的场景中工作时,不要将主相机(或Playspace)从场景原点(0,0,0)移动。这是由MRTK和DK控制的。如果你需要移动玩家的起点,那么移动场景内容而不是相机!

按下空格键,点击Play并通过模拟手来进行测试。

现在可以构建并部署到设备了! 可以参考构建和部署MRTK的步骤说明。

之后做什么

以下是一些建议的下一步:

  • 添加一个PressableButton到您的场景(我们建议使用PressableButtonPlated prefab开始)。

  • 向场景中添加一个立方体,然后使用PressableButtonPlated 组件使其可移动。

  • 了解MRTK中UI和交互构建块中可用的UX控件。

  • 阅读输入模拟指南,学习如何在编辑器中模拟手输入。

  • 了解如何在混合现实配置指南中使用MRTK配置概要文件。

aab4ab3cf56708082aae59ee102e1643.png

5c02e65a8de389ef23e076fe17e2cec8.pngButton

a5694f4718dbcaede7fe388ccdc69d24.png

Bounding Box

bdecdc3d665dded1be747ef83e832b9e.png

Manipulation Handler

一个按钮控件,支持各种输入方法,包括HoloLens 2的手触摸

用于在三维空间中操作对象的标准UI

用一只或两只手操纵对象的脚本

7662e3f87efbaa892c200f406db4795c.png

Slate

7cf0daddb538260fc62ef0d205123e9b.png

 System Keyboard

e745fb48f98451e5f44b446dd8d2f194.png

 Interactable

二维风格的平面,支持滚动与手触摸的输入

在Unity中使用系统键盘的例子脚本

使对象具有可视状态和主题支持的可交互性的脚本

e076d173629d6c6090e1dc117e52a9bd.png

 Solver

806a89551315da42e5eed23b65bba691.png

 Object Collection

b69e51a00fc54449fccb55b75b1a53bb.png

Tooltip

各种对象定位行为,如尾随,车身锁定,恒视尺寸和表面磁性

用于以三维形状布局对象数组的脚本

带有灵活锚/枢轴系统的标注UI,可用于标注运动控制器和对象。

fa394274ee40f690f6fa6be8e4e9556d.png

App Bar

851c4e175579246db3a9e3ced262daef.png

Pointers

8d8a5b7b84c929a1037f872f3dfa2fff.png

 Fingertip Visualization

Bounding Box'所使用的UI

了解各种类型的指针

指尖的视觉启示,提高了直接互动的反馈

32cce1826420c990f41a936c62a87780.png

Slider

7807b853b2b183a65d0d31049b8b1b1c.png

MRTK Standard Shader

a21ec74f56ad9b1ebe8a707d6279dfdf.png

Hand Joint Chaser

滑块UI,用于调整支持直接手动跟踪交互的值

MRTK的标准着色器支持各种流畅的设计元素与性能

演示如何使用求解程序将对象附加到手部关节

aab4ab3cf56708082aae59ee102e1643.pngEye Tracking: Navigation

938ebe5bf3688d8ed3d9a54523a918ed.png

Eye Tracking: Heat Map

593d5222ba9cff8027adeacbb3ecd8ad.png

Eye Tracking: Heat Map

结合眼睛,声音和手的输入,快速和毫不费力地选择全息图通过您的场景

学习如何自动滚动文本或流畅地放大聚焦内容的基础上,你正在看的方向

用于记录、加载和可视化用户在应用程序中查看的内容的示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值