【MRTK】HoloLens 开发基础项目设置

前言

前几天老板让我丢个模型打包到 HoloLens 里看看效果。好几个月没碰 HoloLens 了,结果部署的时候遇到问题,无论如何项目部署都不成功。今天终于得空,打算把这篇记录基础设置的文章翻新一下,再写一篇文章记录现在可行的部署方法,但愿往后不需要再来翻新文章了。

当前适用版本:

  • Unity 版本:2021.3.7f1c1
  • MRTK 版本:2.8.3
  • Visual Studio 版本:Visual Studio Comunity 2022

文章最近更新日期:2023.03.06

 


1  新建项目 & 导入资源

新建项目,命名为:MRTK Test

注:Unity 受到 Windows 最大路径长路的影响,如果文件路径长度超过 255 个字符,可能会出现无法编译的情况。因此,建议将项目存储在尽可能靠近驱动器根目录的位置

 

打开 Build Settings 窗口,将项目切换到 UWP 平台并修改相应的参数

 

完成之后,我们需要下载混合现实工具,使用它来为项目导入开发所需的包

注:需要安装 .NET 5.0 运行时 才能运行混合显示工具(在 VS 中可以安装)

 

下载完成之后双击打开工具

 

需要略微等待一段时间,随后点击 Start 启动工具

 

选择自己的项目路径,随后点击 Discover Feature 进行下一步

选择以下工具包,然后点击 Get Feature 验证选择

  • Mixed Reality Toolkit
    • Mixed Reality Toolkit Foundation
    • Mixed Reality Toolkit Standard Assets
  • Platform Support
    • Mixed Reality OpenXR Plugin

 

点击 Validate 验证所选的包及导入路径是否正确

如果系统返回“未检测到任何问题”,点击“确定”,然后“导入”

 

选择 Approve 将所需的包导入到项目中

最后点击 Exit 关闭工具

2  MRTK 导入设置

资源导入完成之后,选择 Yes 重启 Unity,改用新的输入系统

 

Unity 重启后会自动弹出 MRTK 项目配置器

(如果未显示,可以通过导航栏 Mixed Reality > Toolkit > Utilities > Configire Project for MRTK 手动打开配置器)

 

点击,打开 Project Settings

 

切换到 UWP 选项卡,选择使用 OpenXR

注意:

 

 

 

 

 

 

 

设置完成后打开错误提示,点击 Fix All

 

应用 MRTK 的自动设置

 

导入 TextMeshPro 相关的包

 

完成后就可以关闭配置器了

 

3  Unity 系统设置

打开 Project Settings 窗口,在 Player 界面填写组织名和项目名,项目名就是在 HoloLens 菜单中显示的名称

注:在项目名称前面添加一个下划线可以让该应用排在所有应用前面,方便开发期间进行查找

设置包名

注:包名是每个项目的唯一识别码,重复部署相同包名的应用是会覆盖安装的!!!如果需要保留多个版本,记得修改包名

 

4  项目开发

为测试场景添加MRTK 工具

 

新建一个 Cube,调整位置和大小,并为 Cube 添加所需的脚本

 

 

这里需要注意:

  • Unity 的单位为 1 米,如果使用默认缩放(1,1,1),则立方体过大,这里将立方体的大小调整为 10*10*10 cm
  • 世界原点(0,0,0)处为相机位置,就是用户眼睛所在的位置。如果将立方体生成在与眼睛相同的位置上,那么用户带上头显后必须向后移动才能看到这个立方体
  • 若想要使用手进行交互并抓取物体,则该物体必须具备几个条件:
    • 拥有 Collider 组件
    • 拥有 Object Manipular 组件(添加此组件时,会自动添加 Constraint Manager 组件)
    • 拥有 NearInteractionGrabbable 组件
  • Object Manipular 组件能够让物体变得可移动、缩放、旋转,用户可以通过一只手或两只手来完成这些操作
  • NearInteractionGrabbable 组件能够让用户直接用手接触全息影像

 

5  效果测试

点击 Play 进行测试

 

在 Unity 编辑器内进行模拟输入可以采取以下方式:

  • 更改场景中的视图
    • 水平移动相机:W / A / S / D
    • 垂直移动相机:Q / E
    • 旋转相机:鼠标右键拖动
  • 模拟手的输入
    • 模拟右手:按住空格键(松开空格键则移除该手)
    • 模拟左手:按住左 Shift 键(松开空格键则移除该手)
    • 在场景中移动手:移动鼠标
    • 模拟点击:单击鼠标左键
    • 模拟抓取:按住鼠标左键
    • 旋转某只手:按住 空格键+Ctrl 键(右手)或按住 左Shift 键+Ctrl 键(左手),然后移动鼠标
  • 固定某只手
    • 若要保持某只手持续出现(即在编辑器中模拟双手交互的情况),按下 T(左手)或 Y(右手)即可(再次按下则移除该手)

 

6 项目打包

打开 Build Settings 窗口,将测试场景添加进去。确定平台设置没有问题后,点击 Build 进行打包

等待项目打包生成

 

打包完毕,这个 .sln 文件就是我们部署所需的文件

 


参考资料

MRTK2-Unity 开发人员文档 - MRTK 2 | Microsoft Learn

混合现实工具包简介 - 设置项目并使用手势交互 - Training | Microsoft Learn

posted @ 2022-10-25 18:08  千叶Christa  阅读(509)  评论(0编辑  收藏  举报