HoloLens2之路-Unity2020.3+MRTK2.7配置

版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。

  MRTK2.7 已在2021年9月份开始支持Unity2020.3LTS版本,通常而言,Unity2019.4+MRTK2.6 或者 Unity2020.3+MRTK2.7是最佳搭配,不建议混合搭配(如Unity2019.4+MRTK2.7),因为大如微软的巨头也无法保证兼容所有的版本,而且Unity版本变动太过频繁,版本之间不兼容问题经经常发生。

  本文基于Unity2020.3.21 + MRTK2.7.2 ,理论上Unity2020.3LTS版本应当都支持MRTK2.7。为表述的完整性,本文部分内容与前一篇文章内容有重复。

(一)、 创建工程

  通过Unity Hub,新建一个工程,选择3D模板、填写好项目名称、选择工程存储路径,项目名称与工程存储路径建议使用英文以防出现字符识别问题,如图1所示。

在这里插入图片描述

图1 新创建Unity工程

  工程创建完成后,在Unity菜单中,依次选择File> Build Settings(或者使用快捷键Ctrl+Shift+B),打开构建设置窗口,选择“Universal Windows Platform”,然后单击Switch Platform按钮切换工作平台到UWP平台(Universal Windows Platform,通用Windows平台),如图2所示。

在这里插入图片描述

图2 切换至UWP工作平台

(二)、 使用MRFT导入MROpenXR工具包

  事实上,使用Unity 2020.3 开发MR应用,可以有两种配置,一种支持OpenXR标准,另一种不支持。不支持OpenXR标准的配置方式将会在Unity2021.3LTS中被移除,因此,本文我们只介绍支持OpenXR标准的配置,毕竟OpenXR才是未来。
  
  从MRTK2.6开始,微软公司提供了Mixed Reality Feature Tool(混合现实特性工具,简称MRFT)工具,该工具以可视化的方式管理MRTK工具包,可以大大简化MRTK工具包的管理[ 使用MRFT需要安装.NET 5运行时,下载地址:https://dotnet.microsoft.com/download/dotnet/5.0]。MRFT是一个独立的工具程序,其实质也是通过修改manifest.json文件引导Unity加载MRTK相应工具包,使用该工具程序导入MRTK工具包非常简单,首先指定要进行处理的Unity工程路径,然后选择好相应的工具包即可完成操作。

  使用MRFT添加OpenXR工具包,该工具包位于Platform Support下,勾选Mixed Reality OpenXR Plugin 前的多选框即可,如图3所示。在MRFT中添加完OpenXR工具包后,在返回到Unity编辑器时,Unity会自动检测和加载对应的工具包。

在这里插入图片描述

图3 使用MRFT管理MR OpenXR工具包

(三)、 配置OpenXR环境

  由于使用的新的输入管理器,Untiy编辑器在导入MR OpenXR工具包后要求重启。

  在重启Unity编辑器后,在Unity菜单中,依次选择Edit> Project Settings打开项目配置窗口对项目进行配置。在打开的项目配置窗口中选择Player模块,在右侧功能区正确填写Company Name和Product Name,其他暂时全保持默认即可(项目配置窗口是设置管理各类项目属性、功能特性的地方,与项目所有功能特性、发布相关配置均在这里设置,在开发实际项目时需要认真详细填写项目配置窗口的各属性,以使发布的应用达到预期和优化性能)。

  在项目配置窗口中选择XR Plug-in Management模块,依次打开 XR Plug-in Management -> UWP -> OpenXR,勾选 Microsoft HoloLens feature group前的多选框,如图4所示。
在这里插入图片描述

图4 勾选 Microsoft HoloLens feature group前的多选框

  这时,可以看到图4中位置3的地方有黄色警示,点击黄色三角警示牌,弹出要求修复问题的面板,如图5所示,点击"Fix All"进行修复。

在这里插入图片描述

图5 修复问题

  修复完之后,会修复下面3个Fix,但还会余留一个Edit,如图6所示。

在这里插入图片描述

图6 余留的Edit项

  点击“Edit”按钮,然后关闭该弹出面板。在新打开的界面中添加“Microsoft Hand Interaction Profile”和“Microsoft Motion Controller Profiler”这两个配置文件,如图7所示。

在这里插入图片描述

图7 添加交互配置文件

(四)、 使用MRFT导入MRTK工具包

  还是使用MRFT导入MRTK工具包,如图8所示,在返回到Unity编辑器时,Unity会自动检测和加载对应的工具包。本文直接使用MRFT工具导入MRTK2.7.2包,如图8所示。

在这里插入图片描述

图8 使用MRFT管理MRTK工具包

  在Unity自动检测和加载对应的MRTK工具包后,会弹出一个提示框,如图9所示(可能需要拖拽一下弹出框边框才能看到完整的窗口),点击“Next”进入到下一页,如图10所示。

在这里插入图片描述

图9 在弹出的窗口中点击Next

  在图10中,点击Apply按钮后,Unity编辑器会再次重启。重启完成后,MRTK工具包即导入完成。

在这里插入图片描述

图10 在弹出的窗口中点击Apply

(五)、 修复输入方式

  在Unity菜单中,依次选择Edit> Project Settings打开项目配置窗口对项目进行配置,在Player属性中的 Other settings->Active Input Handling 选择 Both,如图11所示。

在这里插入图片描述

图11 设置输入方式为Both

(六)、 更新工程设置

  在Unity菜单中,依次选择Mixed Reality->Project->Apply recommended project settings for HoloLens2,对当前开发环境进行更新,如图12所示。

在这里插入图片描述

图12 更新工程设置

(七)、 创建和设置场景

  在Unity菜单中,依次选择Mixed Reality Toolkit > Add to Scene and Configure,MRTK会自动在当前场景中添加必须的游戏对象,并为MR使用配置好Main Camera对象的各属性。

  在Hierarchy窗口中,选择MixedRealityToolkit游戏对象,然后在Inspector窗口中,选择MixedRealityToolkit组件下的主配置文件为DefaultHoloLens2ConfigurationProfile,如图13所示,使用默认的HoloLens2配置文件。
在这里插入图片描述

图13 使用默认的HoloLens2配置文件
  作为演示,我们在场景中新创建一个立方体对象,调整立方体边长为0.2,适当调整一下立方体位置和角度,以使其能在MR应用启动时被看到,其他保持默认。

(八)、 导出Unity工程

  为更好的控制生成过程,我们首先需要将Unity工程导出为Visual Studio工程,在Unity菜单中,依次选择File > Build Settings,打开构建设置窗口,如图14所示。在构建设置窗口中添加场景,设置Target Device属性为Any Device、Architecture属性为X64,并根据需要设置其他属性,设置完成后,点击“Build”按钮将其构建到一个空的目标文件夹中。

在这里插入图片描述

图14 Unity工程导出设置

猜你喜欢

转载自blog.csdn.net/yolon3000/article/details/121776416
今日推荐