Hololens 2应用开发系列(1)——MR初体验!使用MRTK在Unity中进行程序模拟
一、前言
在前面的文章中,我介绍了Hololens 2开发环境搭建和项目生成部署等相关内容,使我们能生成一个简单HoloLens2应用程序。而上述程序是一个静态的程序,要实现Hololen2的交互功能,则需要我们在Unity中导入混合现实场景。
同时,对于我们编写的程序,要验证AR/MR交互功能(如手势动作、眼动追踪等),如果我们每次新增功能都将其编译并发布到设备上进行调试,无疑会增加繁重的工作量并浪费大量的时间,因此,微软官方在MRTK中为我们提供了Unity编辑器内输入模拟的功能,使我们仅仅通过键盘或鼠标便可模拟使用者的手势操作、眼动追踪等功能。
下面,我将对以上内容进行介绍。除此之外,您还可以参考微软官方提供的教程进行补充学习,分别是MRTK2输入模拟和MRTK3输入模拟,现在,让我们开始吧。
二、创建和设置MR场景
首先,要创建和设置MR场景,需在Unity编辑器的菜单栏中,找到Mixed Reality→Toolkit→Add to Scene and Configure并点击,编辑器左侧(默认)的hierarchy中会出现MixedRealityToolkit、MixedRealityPlayspace和MixedRealitySceneContent三个对象,同时点击或选中MixedRealityToolkit对象后,编辑器右侧(默认)的Inspector检查器中会自动添加MixedRealityToolkit的配置窗口。
在MixedRealityToolkit对象右侧的配置窗口中,选择DefaultHoloLens2ConfigurationProfile,以对应到Hololens 2的主配置文件,
注意下方弹出的提示,“The Mixed Reality Toolkit’s core SDK profiles can be used to get up an running quickly. You can use the default profiles provided, copy and customize the default profiles, or create your own.”,意思是我们的配置文件还没有被应用,可以选择使用默认配置或创建我们自己的配置,在此,可根据项目需求进行选择,以使用默认配置为例,在此我们点击Copy & Customize。
在弹出的窗口中,根据需求修改高级选项,同时可设置配置文件的地址和文件名,然后点击Clone。
此时,我们见到下方的设置面板中已不再是灰白,且能够对相机、输入系统、空间感知等部分进行设置。但注意,几乎每一个标签页面,都具有Clone this default profile to edit properties below,此时,我们尽量选择包含Hololens2关键字的配置文件,然后点击上方最右侧的Clone按钮,便可进行后续具体内容的设置。
对于这些设置的具体介绍,我们可以参考微软官方的配置指南,在以后的教程中,我会逐步对其进行使用和介绍。
三、MRTK输入模拟的开启
微软官方在MRTK中为我们提供了Unity编辑器内输入模拟的功能,使我们仅仅通过键盘或鼠标便可模拟使用者的手势操作、眼动追踪等功能。该部分功能的设置在MixedRealityToolkit对象右侧的配置窗口中,如下图所示。
同时,请注意,微软官方有如下使用提示:MRTK模拟与Unity提供的的XR全息模拟的功能不兼容。为了使用 MRTK 输入模拟服务,需要将XR全息模拟的模拟模式设置为“无”。具体做法为在Unity编辑器的菜单栏中,找到Window选项,并选择XR->Holographic Emulation。在弹出的菜单中,将Emulation Mode属性设置为None,图可参考该篇文章,但同时可注意到,上述选项被标注为Deprecated,在新版的Unity中已找不到该选项,默认无需设置即可直接使用MRTK模拟。
在Unity编辑器中点击播放▶按键后,可跳转到Game界面,此时我们可以操纵鼠标键盘进行模拟仿真。MRTK输入模拟为我们提供了如下操作方式,具体参见官方教程。
操作 | 按键 |
---|---|
移动摄像头 | W、A、S、D、Q、E |
模拟双手 | 空格键(右手)、左 Shift 键(左手) |
以将模拟的双手保持在视野中 | T 或 Y |
旋转模拟手部 | 按住 Ctrl 键并移动鼠标 |
除此之外,对于手部的显示及控制,暂时还存在一些问题,如需设置请参考微软官方提供的详情网站链接1、链接2。
在模拟环境下,我们成功进行了第一个AR/MR空白程序的仿真,是不是非常激动呢?不要着急,接下来的教程中,我会以系列教程的形式,逐步教大家完善自己的AR/MR程序。欢迎持续关注!