Holoens2开发笔记:官方MRTK入门教程总结

在这里插入图片描述

前言

微软官网上的MRTK入门教程个人觉得还是挺不错的,建议自己跟着原教程走一遍,做完之后应该就对MRTK有了大致的了解了。
这篇文章是我自己对于官网这个MRTK入门教程一些重点的整理。
关于开发环境如何搭建和配置,网上已有许多,在这里就不赘述了,直接进入主题。
本文使用的unity版本为2019.4.14f1c1,MRTK版本为2.5.1。

一、Hololens 2场景如何配置MRTK配置文件

在这里插入图片描述
具体操作

1、克隆默认的配置配置文件

  PS:配置配置文件是顶级配置文件。 因此,若要编辑任何其他配置文件,必须先克隆配置配置文件。
  在“层次结构”窗口中,选择 MixedRealityToolkit 对象。然后在检查器窗口中将“MixedRealityToolkit”配置配置文件更改为“DefaultHoloLens2ConfigurationProfile”(Hololens2默认配置文件)。单击“Copy & Customize”(复制&自定义)按钮,输入合适的文件名,单击“Clone”按钮。
在这里插入图片描述

新建的配置配置文件现已分配为场景中的配置配置文件。

2、启用空间感知系统

  在“层次结构”窗口中,选择 MixedRealityToolkit 对象。接下来在检查器窗口中,选择“Spatial Awareness”(空间感知)选项卡,然后选中“Enable Spatial Awareness System”(启用空间感知系统)复选框。
在这里插入图片描述

3、克隆默认的空间感知系统配置文件

  在“Spatial Awareness”(空间感知)选项卡中,单击“Clone”按钮,输入合适的文件名,再单击“Clone”按钮。

4、克隆默认的空间感知网格观察程序配置文件

在这里插入图片描述

  在“Spatial Awareness”(空间感知)选项卡下,展开“Windows Mixed Reality” (空间网格观察程序)部分,然后单击“Clone”按钮,输入合适的文件名,再单击“Clone”按钮

5、更改空间感知网格的可见性

在这里插入图片描述

二、启用3D对象的远近交互

作用
  用户可以用手点击并拖动对象进行移动,释放时对象放置在该位置,不再移动,即点击拖动功能。
实现
ps:操作对象需要有碰撞体组件
1、添加ObjectManipulator脚本(对象操控器脚本)到对象上,ConstraintManager脚本是添加ObjectManipulator脚本时自动添加的
在这里插入图片描述

2、下面选项可控制允许双手操作的功能
在这里插入图片描述

三、Unity中坐标值大小与现实生活中距离大小

在这里插入图片描述

四、组织集合中的对象

作用
  有序排列一组对象。
实现
1、选择持有需排列对象组的对象,添加“GridObjectCollection”(网格对象集合)脚本
在这里插入图片描述

2、设置排列参数
如图所示的是:
Sort Type(排序类型):按字母顺序
布局:水平
Cell Width(单元格宽度):0.25
Distance from parent(到父对象的距离):0.38
在这里插入图片描述

五、模型位置指示器

作用
  当模型不在用户视野内时,指示器便会出现,并向用户提示模型相对于用户的方向。
实现
1、调出指示器模型(ps:该模型为入门教程给的预制件)
在这里插入图片描述

2、添加 DirectionalIndicator(方向指示器)脚本
ps:系统会自动添加 SolverHandler 组件,因为求解器需要该组件。
  验证 SolverHandler 组件的“Tracked Target Type”(跟踪的目标类型)是否设置为“头部”。
  将 RoverExplorer 分配到 DirectionalIndicator 组件的方向目标,具体方法是将其从“层次结构”窗口拖到“无(转换)”字段。
  将“View Offset”(视图偏移量)更改为 0.2。
在这里插入图片描述

六、零件组装自动吸附

作用
  当用户将零件移动到指定位置时,该零件会自动吸附上去。
实现
ps:操作对象需要有碰撞体组件
1、零件需添加“NearInteractionGrabbable”(近相互作用)组件
2、还需添加“Part Assembly Controller”(部件程序集控制器)组件,用于设置零件正确安装的位置(此组件为入门教程提供的脚本资源,不是mrtk自带的)
在这里插入图片描述

七、添加边界框

作用
  边界框提供用于缩放和旋转的控点,在近距和远距交互时,使用边界框可以更轻松、更直观地单手操作对象。
在这里插入图片描述

实现
ps:操作对象需要有碰撞体组件
1、操作对象需要添加BoundingBox脚本和ObjectManipulator脚本(对象操控器脚本)
在这里插入图片描述

八、点击放置功能

作用
  点击对象,对象会随用户移动,再次点击时,对象会放置该位置,不再移动。
实现
ps:操作对象需要有碰撞体组件
1、添加Tap To Place脚本(点击放置脚本)到对象上,SolverHandler脚本是添加Tap To Place脚本时自动添加的。
在这里插入图片描述

九、按钮配置

  在层级中选择需编辑的按钮,在Interactable组件下的Events下添加并设置事件即可。
在这里插入图片描述

十、创建语音控制命令

作用
  可以使用语音来开启或关闭某些功能。
实现
1、在“层级”中选择“MixedRealityToolkit”对象;
2、然后在检查器窗口选择“input”选项;
3、克隆 DefaultMixedRealitySpeechCommandsProfile 并为其指定一个适当的名称;
4、验证“启动行为”是否设置为“自动启动”。
在这里插入图片描述

5、在此处添加语音命令,及设置语音命令的名称
ps:我测试过了,可以直接使用中文语音命令。
在这里插入图片描述

6、可新建一个空物体来持有那些不需要Focus的语音控制脚本
7、添加SpeechInputHandler 组件(语音输入处理程序)
 Is Focus Required选项:指需不需要用户眼睛看向某个对象时语音命令才奏效
在这里插入图片描述

8、需要Focus的语音控制脚本要添加到指定对象上,并勾选Is Focus Required选项
在这里插入图片描述

9、在Speech Confirmation Tooltip Prefab添加SpeechConfirmationTooltip预制件(语音确认工具提示)在语音命令生效后有如下提示效果:
在这里插入图片描述

十一、使用眼动追踪功能

1、
在这里插入图片描述

2、
在这里插入图片描述

3、眼动追对象需添加一下组件:
在这里插入图片描述

4、在眼动追踪对象的“EyeTrackingTarget”组件下配置功能,“On Look At Start ()”事件是眼睛看向该对象时发生的事件,“On Look Away ()”事件是眼睛离开该对象时发生的事件。
在这里插入图片描述

  • 12
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值