Hololens 2应用开发系列(1)——使用MRTK在Unity中设置混合现实场景并进行程序模拟

Hololens 2应用开发系列(1)------使用MRTK在Unity中进行程序模拟

一、前言

在前面的文章中,我介绍了Hololens 2开发环境搭建和项目生成部署等相关内容,使我们能生成一个简单HoloLens2应用程序。而上述程序是一个静态的程序,要实现Hololen2的交互功能,则需要我们在Unity中导入混合现实场景。

同时,对于我们编写的程序,要验证AR交互功能(如手势动作、眼动追踪等),如果我们每次新增功能都将其编译并发布到设备上进行调试,无疑会增加繁重的工作量并浪费大量的时间,因此,微软官方在MRTK中为我们提供了Unity编辑器内输入模拟的功能,使我们仅仅通过键盘或鼠标便可模拟使用者的手势操作、眼动追踪等功能。

下面,我将对以上内容进行介绍。除此之外,您还可以参考微软官方提供的教程进行补充学习,分别是MRTK2输入模拟MRTK3输入模拟,现在,让我们开始吧。

二、创建和设置MR场景

首先,要创建和设置MR场景,需在Unity编辑器的菜单栏中,找到Mixed RealityToolkitAdd to Scene and Configure 并点击,编辑器左侧(默认)的hierarchy中会出现MixedRealityToolkitMixedRealityPlayspaceMixedRealitySceneContent 三个对象,同时点击或选中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

相关推荐
与火星的孩子对话3 小时前
Unity3D开发AI桌面精灵/宠物系列 【三】 语音识别 ASR 技术、语音转文本多平台 - 支持科大讯飞、百度等 C# 开发
人工智能·unity·c#·游戏引擎·语音识别·宠物
向宇it3 小时前
【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
开发语言·游戏·unity·c#·编辑器·游戏引擎
牙膏上的小苏打233319 小时前
Unity Surround开关后导致获取主显示器分辨率错误
unity·主屏幕
Unity大海21 小时前
诠视科技Unity SDK开发环境配置、项目设置、apk打包。
科技·unity·游戏引擎
浅陌sss1 天前
Unity中 粒子系统使用整理(一)
unity·游戏引擎
维度攻城狮1 天前
实现在Unity3D中仿真汽车,而且还能使用ros2控制
python·unity·docker·汽车·ros2·rviz2
为你写首诗ge1 天前
【Unity网络编程知识】FTP学习
网络·unity
神码编程2 天前
【Unity】 HTFramework框架(六十四)SaveDataRuntime运行时保存组件参数、预制体
unity·编辑器·游戏引擎
菲fay2 天前
Unity 单例模式写法
unity·单例模式
火一线2 天前
【Framework-Client系列】UIGenerate介绍
游戏·unity