栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

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

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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


目录
    • 前言
    • 一、Hololens 2场景如何配置MRTK配置文件
      • 1、克隆默认的配置配置文件
      • 2、启用空间感知系统
      • 3、克隆默认的空间感知系统配置文件
      • 4、克隆默认的空间感知网格观察程序配置文件
      • 5、更改空间感知网格的可见性
    • 二、启用3D对象的远近交互
    • 三、Unity中坐标值大小与现实生活中距离大小
    • 四、组织集合中的对象
    • 五、模型位置指示器
    • 六、零件组装自动吸附
    • 七、添加边界框
    • 八、点击放置功能
    • 九、按钮配置
    • 十、创建语音控制命令
    • 十一、使用眼动追踪功能

前言

微软官网上的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 ()”事件是眼睛离开该对象时发生的事件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号