2.7.3 中的新增功能
雷德蒙德特别感谢
MRTK 团队衷心感谢你们,MRTK 社区。 你的贡献、反馈和投票帮助 MRTK 赢得了 2021 年 Auggie 最佳开发人员工具奖! 没有你的支持,我们就不会有今天的情况。 无论是添加新的平台支持、新功能、bug 修复、建议、问题还是你可能贡献的其他众多方式:谢谢!
Unity 2021 支持
通过 2.7.3 版本,我们可以更轻松地在 2021 Unity 2021 上构建! 如果在将 MRTK 与 Unity 2021 配合使用时发现任何问题,请在 GitHub 存储库中提出问题。
通过远程处理支持的场景理解 (仅 OpenXR)
使用 OpenXR 平台在HoloLens 2上远程处理期间,现在可以使用场景理解。
MRTK 2.7.3 Bug 修复和更改
- 停止了文件夹的创建,
CustomProfiles除非配置文件已克隆到该文件夹 #9916 - 删除了对 GameObjects 的调用
.gameObject#9939 - 修复了具有禁用组件的对象可能导致指针焦点锁定 的 bug #9945
- 更新了 Unity 2021 #9938 的弃用方法和修复了编译器错误
- 修复
link.xml了 Unity 2021 #9942 - 更新了按钮配置检查器以显示图标名称 #9972
- 更新了控制器映射列表的标头和对齐方式 #9976
- MRTK #9940 的分类Unity改进
- 修复 了 BoundsControl 碰撞体问题和不一致 #9973
- 修复了按钮图标集检查器 #9999
- 固定 边界控制 比例句柄碰撞体对齐 #10007
- 修复了 SDF 字体纹理分类 #10006
- 修复 了 BoundsControl 自动平展和缩放手柄方向 #10013
- 添加了 BoundsControl 平展修复 的反馈 #10016
- 修复了动画播放过程中手部网格的奇怪变形 #10024
- 修复了场景理解的日志记录 和
SpatialAwarenessSurfaceTypes#10026 - 向 Leap 示例场景脚本添加了独立定义指令 #10036
- 修复了编辑器中指定非默认激活类型时的 BoundsControl
OnEnable问题 #10039 - 修复了 OpenGL ES 和 Metal 的无效着色器字节码错误 #10041
- 添加了
ClearProgressBar调用以修复 Unity 2020 上的生成窗口冻结 #10046 - 更新了字体资产的序列化 #10047
- 修复了手部交互场景,使其具有适当的捏合滑块碰撞体 #10060
- 修复了 Surface 磁力四元数数学 #10074
- 改进了 PV 相机版本消息 #10077
- 修复了
BoundingBoxHelper.GetRawBoundsCorners保护级别 #10093 - 已将 gLTF 导入日志更新为一个日志而不是多个 #10090
- 从没有 MRTK 的场景中删除了
MRSceneContent脚本 #10091 - 从示例场景中删除了基于包的事件系统,以便Unity 2018 兼容性 #10092
- 删除了对预览版 Microsoft OpenXR 包 的支持 #10119
- 修复了应用在接收数据时冻结 #10033
- 修复了在没有 #10127 的情况下从碰撞体
EyeTrackingTarget传递到碰撞体时不触发 OnLookAway 的修复问题EyeTrackingTarget - 更改了默认指针范围,使鼠标指针行为更直观 #10075
- 更新了摘要以阐明 Initialize 何时运行 #10177
-
NullReferenceException修复了 #10190 中LinePointer的问题 - 修复了包含非统一缩放问题的 BoundsControl#10133
- 修复了在不同区域性中的 处理
IOSMinOSVersion#10178 - 从启用眼睛凝视的对象中删除了额外的光线投射 #10162
- 在 MixedRealityToolkit prefab #10180 的 编辑器 检查器中将鼠标悬停在各种配置文件上时添加了工具提示
- 修复了 EyeTrackingExample 中的语音命令下拉列表和更新命令 #10197
- 修复了加载Unity标准着色器时显示黑色的“gLTF”对象 #10209
- 修复了
UnityTouchDeviceManager当 属性为 false 时IsEnabled更新自身 #10203 - 更新了按钮配置帮助程序中的属性名称 #10221
- 修复了对象导出器中的坐标空间、缠绕顺序和区域性格式 设置 #10208
- 添加了将抓握点移动到指尖的选项 #10206
- 添加了对 Leap UnityModules 4.9.1 #10282 的支持
- 向后移植了 #10280 的一些小更改
ReserializeAssetsUtility.cs - 已将 不正确的用法
enumValueIndex转换为intValue#10274 - 修复了近距作期间对象偏移 问题 #10294
- 修复了边界控制会主动删除其他组件的情况 #10296
- 修复了闪烁邻近照明 #10325
- 添加了检查,用于在确定触发这些事件之前查看是否有任何内容被挂接到事件 #10330
- 更改了各种小项 #10316
- 引入了 HasFlag #10319 的替代项
- 减少
HandConstraint求解器调试日志垃圾邮件 #10331 - 修复了来自
HandConstraintPalmUp.cs#10326 的日志垃圾邮件 - 通过 OpenXR 启用全息远程处理场景理解 #10338
- 向 InteractableOnClickReceiver 添加了无参数构造函数 #10353
- 将 FingerChaser prefab 移动到示例包中的 Common 文件夹 #10358
- 在 OpenXR 上添加了关节手选择的回退用例 #10359
- 修复了 Windows 麦克风流演示 UPM 导入问题 #10362
- 已重命名的 OpenXR 配置文件 #10363
- 使用 Unity 2021 改进了光线投射命中日志输出,并修复了使用 AssetBundles 时崩溃 #10370
- 将字符串更新为 const 和缓存类型以减少分配 #10369
- 修复了使用基于应用的全息远程处理时基于 XRSDK 的网格观察程序 #10366
- 集成的 Oculus 可视化 效果 #10067
- 添加了 BoundsControl 属性 的文档 #10361
- 固定手关节追逐器预制 件 #10377
- 修复了 Oculus Quest 10374 的部署错误
- 修复了场景理解示例场景配置文件 #10368 的问题
- 修复了在最新版本的 Unity 2021.2 #10182 中导入时出现的 MRTK 控制台错误
- 添加了有关如何更改游标的缺失文档 #4934
- 改进了 MRTK Unity包发布页上的说明,使其更清晰 #9575
- 修复了 MicStream 选择演示场景未处理语音 (UPM 包) #9908 的问题
- 修复了无法在 MRTK 示例包中单独导入示例 的问题 #10216
- 为某些属性添加了 BoundsControl 缺少文档 #10346
- 修复了无法将 InteractableOnClickReceiver 添加到具有可交互组件的游戏对象 #10341 的 bug
2.7.2 中的新增功能
修复了 UPM 包依赖项问题
MRTK 2.7.1 UPM 包存在一个问题,其中依赖项未正确设置。 此问题会导致混合现实功能工具无法正确导入 MRTK 2.7.1 包。 此问题现已在 2.7.2 中得到解决。 与 2.7.1 相比,此版本中没有代码更改。
2.7.1 中的新增功能
显示版本
“混合现实>工具包”菜单现在包含“显示版本...”条目,用于检查 混合现实 Toolkit Foundation 包以确定项目正在使用的 MRTK 版本。
作者列表
从 MRTK 2.7.1 开始,作者列表文件包含在 混合现实 Toolkit Foundation 包中。
将 OpenXR 项目设置集成到 Configurator 设置流中
从 MRTK 2.7.1 开始,混合现实 OpenXR 插件的用户将收到有关如何使用 MRTK 设置该插件的说明。 有一个选项可供面向HoloLens 2的用户自动应用建议的设置。
值得注意的 Bug 修复和更改
- Unity游戏杆管理器标记为 XR SDK 管道支持 #9954, #9994
- 添加了对可交互检查器代码的检查,以防止 null 错误 #9943
- 将 OpenXR 网格提供程序添加到脉冲着色器示例场景 #9902
- 将手部物理配置文件还原到示例场景 #9915
- 对脚本进行
HandConstraint一些清理 #9935 - 修复了影响创建和克隆配置文件的一些 bug #9982
2.7.0 中的新增功能
MRTK 现在正式支持 OpenXR
随着新的 OpenXR 插件越来越成熟,MRTK 现在正式支持 OpenXR。 与以前的版本相比,我们在使用 OpenXR 的项目中添加了以下功能:
- 支持系统提供的运动控制器模型
- 支持 WinMR 手势 (选择、保留、作和导航) #9843
- 对控制器触觉的支持
- 支持HoloLens 2上的关节手网格
- 支持HoloLens 2上的空间映射 #9567, #9827
- 支持HoloLens 2上的场景理解 #9744
如果通过 OpenXR 面向HoloLens 2或Windows Mixed Reality头戴显示设备,请确保通过混合现实功能工具安装/更新 混合现实 OpenXR 插件版本 0.9.5 或更高版本,否则可能会错过上述一些改进。
旧版 XR 和 XR SDK 数据提供程序现在可以在同一配置文件中使用
现在,仅当选择了适当的管道时,才会加载数据提供程序,从而允许旧版 XR 和 XR SDK 数据提供程序并存在同一配置文件中。 为了适应这种情况,旧版 XR 和 XR SDK 数据提供程序现在组织在配置文件视图中的不同选项卡下。 此组织应帮助确定是否为目标 XR 管道选择了正确的配置文件。
为了适应这种情况,空数据提供程序现在将不再加载并在配置文件检查器中显示。 用户可以在“编辑 -> 项目设置 -> 混合现实工具包”下切换Show null data providers in the profile inspector,以调试缺少数据提供程序的意外行为。
添加了体验设置和关联的混合现实场景内容行为
用户现在可以配置体验设置,这将允许 MRTK 根据目标体验适当地显示混合现实场景内容。
如果用户以前的体验规模设置与新的体验设置配置文件不匹配,系统会提示他们在检查器中更正它。
重新设计的配置器现在指导用户完成设置过程
新的 MRTK 配置器为用户提供了分步指南,以正确配置项目进行 XR 开发并与 MRTK 配合使用。 它介绍了 XR 管道的选择、获取特定于平台的插件、导入 TextMeshPro、显示使用 UPM) 时 (的示例,以及项目之前包含的其他建议设置。
分级传送热点
新的 传送热点组件 已毕业。 你可以向你的 GameObject 添加传送热点,以确保用户在传送到该位置时处于特定位置和方向。
Graduated Dwell
停留功能和示例现已从实验阶段毕业。 示例场景中包括体积HoloLens 2样式按钮的新示例。
添加了对 Leap Motion Unity模块版本 4.6.0、4.7.0、4.7.1 和 4.8.0 的支持
对最新版本的 Leap Motion Unity 模块的支持现在与 MRTK 2.7.0 兼容。 有关详细信息,请参阅 如何为 Leap Motion 配置 MRTK。
非常感谢贡献 @jackyangzzh 新 LeapMotionOrientationExample 场景!
引发的目标语音事件不再仅限于凝视指针
以前,目标语音事件只能在使用凝视指针聚焦的对象上引发。 现在,如果对象被任何指针聚焦,则可以接收语音事件。
TextToSpeech已从 HTK 移植到 MRTK
心爱的 TextToSpeech 脚本现在终于在 MRTK 中可用,以帮助你使用 SpeechSynthesizer从 UWP 平台上的文本生成语音。 还添加了一个示例场景来演示该功能。
支持 OpenXR 上系统提供的运动控制器模型
添加了对 OpenXR 上系统提供的运动控制器模型的编辑器内和运行时支持。
在 OpenXR 上支持HoloLens 2关节手网格
支持跨旧版 WMR、Windows XR 插件和 OpenXR 的控制器触觉
添加了对旧版 WMR、Windows XR 插件和 OpenXR 的控制器触觉的支持。 #9735
支持 Windows XR 插件上的眼动跟踪
添加了对使用 Windows XR 插件最低版本 2.7.0 (Unity 2019) 、4.4.2 (Unity 2020) 和 5.2.2 (Unity 2021) 的支持。 #9609
值得注意的 Bug 修复和更改
- 收缩检测更流畅。 现在更难意外地放弃收缩手势。 #9576
- 设置标志时,具有 Object控器组件的对象现在始终保持释放速度。 #9733
- 后层现在检查地板,有助于防止相机可以剪辑到环境中或用户悬停在空白区域的情况。#9697
-
IsNearObject现在是一个虚拟属性,允许在扩展球体或 poke 指针时更加灵活。 #9803 - 显示可用的语音命令时,按钮现在会显示正确的关键字 (keyword) 。 #9824
- Oculus 控制器现在使用自己的独立可视化工具,防止 MRTK 可视化效果与 Oculus 集成包的可视化效果冲突。 #9589
- 与键盘相关的脚本已更改,以符合最新Unity版本中的行为, (2019.4.25+ & 2020.3.2+) 。 截至发布时,仍存在自动完成 bug 和 TMP 输入字段 bug, (这两者都位于 MRTK 外部,) 影响 HoloLens。 有关详细信息,请参阅 #9056 和 #9724。
- 改进了滚动对象集合的性能。 还修复了在复制时导致
GameObject集合内材料丢失的问题。 #9813, #9718 - 在场景理解演示脚本中,添加了
GetSceneObjectsOfType用于检索特定类型的所有观察到的场景对象的函数。 #9524, #9744 - 在命令行生成工具中,当存在任何标志时,只有 或
sceneListFile标志指定的sceneList场景 () 才会包含在生成中。 #9695 - 在生成工具中,有一个新选项用于指定 路径
nuget.exe,并使用它执行包还原,而不是使用msbuild(默认选项) 。 #9556 - 修复了使用 Windows XR 插件可能导致手部关节陈旧和双手网格翻倍的问题。 #9890
- 修复了使用 Windows XR 插件的自动远程处理功能导致缺少输入和交互的问题。 #9868
- 修复了尝试查询 Windows SDK 路径的无效 reg 键的问题
BuildDeployWindow。 #9664 - MRTK 的
glTF导入程序现在是可选的。 如果存在多个glTF导入程序,可以通过将MRTK_GLTF_IMPORTER_OFF添加到自定义脚本定义符号来禁用 MRTK。 #9658 - 修复了未正确检测到 OpenVR 上的 Knuckles 控制器的问题。 #9881
- 在可视化手部网格时减少每帧分配数 #9756
- 在 Unity 包管理器) 中添加了启动 MRTK 示例包 (的菜单项,以便更轻松地导入示例 #9798
- 减少了使用 Unity 2020.3 时的加载时警告数。
- 添加了生成窗口功能文档: 访问页面
已知问题
音频演示缺少 asmdef UPM 包 (文件)
通过 混合现实 功能工具导入 MRTK 时,将使用 Unity 包管理器 UI 将示例和演示添加到项目中。 导入音频演示后, WindowsMicrophoneStreamDemo.unity 场景将无法正常运行。 此行为是示例缺少 asmdef 文件的结果。
若要 解决此问题,请执行以下步骤:
- 复制库/PackageCache/com.microsoft.mixedreality.toolkit.examples@[...]/MRTK。Examples.asmdef 到“Assets/Samples/混合现实 Toolkit Examples”文件夹中
- 将复制的文件重命名为示例
- 打开示例文件
- 在“名称”框中,将内容替换为“示例”
- 单击“应用”
- 生成和部署
此问题将在即将发布的 MRTK 版本中得到修复。
MRTK 生成窗口在 Unity 2020.3 中触发无限期的“导入资产”对话框
Unity 2020.3 上的 MRTK 生成窗口存在一个已知问题,即 UWP 生成后“导入资产”对话框未完成。 正在通过 Unity 调查此问题。
Unity 2020 年的文本网格 Pro 画布呈现器警告
使用 Unity 2020 时,大多数 MRTK 示例场景中记录了以下警告:
Please remove the `CanvasRenderer` component from the [TextMeshPro] GameObject as this component is no longer necessary.
TextMeshPro 版本 3.0.3 中添加了画布呈现器警告。 这些警告对 MRTK 的示例场景没有影响,可以从控制台中清除。 有关详细信息,请参阅 问题 9811。