网格工具包发行说明
出于本文档的目的,有两类用户:
- 创建者:使用网格工具包构建的技术艺术家和开发人员
- IT 管理员:在 Azure 或 M365 中工作的经理
版本列表和日期
重要
5.2406 之前的网格工具包版本已被弃用。 建议升级到最新版本的网格工具包。
注意
环境项目的 Mesh 工具包包 的版本号必须 等于或早于你的环境所面向的网格应用(电脑或 Quest),否则环境将不会加载。
网格产品/包 | 版本 | 发布日期 |
---|---|---|
网格工具包 | 5.2413.X | 2024-09-24 |
PC/Quest 上的网格 | 5.2413.X | 2024-09-24 |
Mesh Toolkit 5.2413.X
新增功能
Mesh Toolkit 上传程序
较旧的上传程序版本会在更改使用较新版本的资产之前发出警告。 虽然网格运行时与较旧的资产向后兼容,但我们不能保证与随后从较新版本降级的资产兼容。 在降级资产的可能性不大的情况下,在事件中使用之前,请彻底测试资产。
从 10 月 1 日起,将弃用低于 5.2406 的网格工具包版本(2024 年 5 月 1 日发布)。 (注意:对于已在低于 24.6 的受影响工具包版本上发布的环境,现有上传将继续像现在一样正常运行)。
视觉对象脚本
用户可以使用项目设置 > 网格工具包设置 > 扩展 > Visual Scripting 下的新设置来控制视觉脚本错误是否阻止上传。
如果意外将视觉脚本变量设置为与其声明类型不兼容的值(例如,如果使用“Add(in Math/Scalar)”作为设置 Integer-type 变量的输入),内容验证现在会将此值标记为正确性问题。 这显示在“网格视觉脚本诊断”面板、CPA(内容性能分析器)和上传之前。
视觉脚本现在可以访问文本网格 Pro - 文本(UI)的属性和方法。 新脚本节点的名称以文本网格 Pro UGUI 开头,位于脚本节点选择器中。
Mesh Toolkit 5.2412.X
新增功能
Mesh Toolkit 上传程序
修复了在重试时导致上传失败并出现 FileNotFoundException 的 bug。
扩展对图形操作的重试,希望获得过去的临时问题。
删除了在网格工具包设置中选择 Unity 生成管道的选项。
修复了导致重试时验证失败的问题,即使修复了场景并似乎已保存。
默认字体设置命令现在将消息输出到控制台。
可交互对象
交互组件(“网格可交互设置”)已更新为以下内容:
UI 重新设计,外观更简洁,组织和可用性更好。
“交互对象”现在是四种可交互类型的一个伞式术语:基本、可处理、装备和可引发。
在“可装备”类型中,手部定位有 10 个预设,还可以创建自定义预设。
组件现在具有上下文相关的帮助按钮。
Mesh Toolkit 5.2411.X
新增功能
Mesh Toolkit 上传程序
- 更新了“生成目标”选择,其中包含目标支持的平台的详细信息。 还添加了一个常规警告,其中上传了一部分所选目标的环境。
Mesh Toolkit 5.2410.X
新增功能
Mesh Toolkit 上传程序
如果上传程序工具和网格服务在上传过程中出现问题,我们现在向用户显示一条消息,指出操作花费的时间比预期长,但仍正在运行。
修复了 Unity 程序包管理器无法获取信息且主机在重复时遭到相同消息的垃圾邮件的 bug。
WebSlate 可控制对象,用于在网格事件中显示 URl
随着 24.10 网格工具包的发布,开发人员现在可以向环境添加 WebSlate 可控制组件。 这些 WebSlate 使事件与会者能够在网格事件中通过 WebSlates 与网页交互,并使事件组织者能够动态更改 WebSlates 上显示的内容。
事件主机可以显示Microsoft Whiteboard,例如:
开发人员更新: 添加 Weblate 的相同简单工作流,只需进行少量的其他配置即可添加可控制功能。
事件组织者体验: 切换 URL、可见性(开/关)和(可选)阻止挂起(使 WebSlate 始终处于打开状态)。 通过控制面板,在运行时更改 URL 会立即(全局刷新)更新所有用户的 WebSlates。
最终用户体验: 光标/控制器悬停时,添加了一个带有内置刷新按钮的菜单栏和一个工具提示,简要说明 Web 页的单用户性质(某些 Web 应用可能提供共享体验)。 这提供了一种方法来返回到组织者设置的 URL(在用户导航时),并且可以在 Web 应用中在体验期间出现问题。
要考虑的一些显著细节包括:
开发人员可以选择在事件发生时是否可以更改 URL,方法是删除父 WebSlateFramed GameObject 中的 WebSlate 可控制脚本。
开发人员选择环境中 WebSlate 的位置。 目前,WebSlate 定位在上传到环境后不可调整(这不是目录中的对象)
WebSlate 的内容和交互将取决于 Web 应用上显示的内容和交互。 例如,某些 Web 应用将为所有用户提供同步的输入,从而创建共享交互的感觉,但不会跨用户同步导航和滚动。 选择 WebSlate 中显示的 URL 并对其进行测试对于实现所需体验非常重要。
目前,网格中的任何 Web 应用都不支持 SSO。 但是,在 Windows 网格(而不是 Quest)上,登录到某些应用可以通过手动身份验证工作。 在 WebSlate 中,Microsoft帐户管理员将允许使用用户计算机上存在的凭据登录,以便轻松安全地访问内容。 注意:尽管这可解锁使用 Fluid Framework 应用(如 Microsoft Whiteboard 和 Loop)的功能,但仅跨用户同步输入,而不是导航或滚动。
24.10 工具包升级说明:
对于 Unity 场景中具有 WebSlateFramed 组件的现有环境,在上传后,将 Mesh Toolkit 升级到 24.10 将自动为组织者提供 WebSlate 可控制功能。 这意味着组织者可以通过控制面板在运行时切换其 WebSlates 的 URL,最终用户在悬停石板时会看到刷新按钮/信息硬币。 建议仔细检查环境中的 WebSlate 定位,以确保悬停(位于中心石板下方)运行时出现的面向用户的菜单栏不会与环境的任何其他部分相撞。
对于不希望组织者控制 URL 的用户,可以通过从其 WebSlate GameObject 中删除“WebSlate 可控制”脚本来关闭 WebSlate 可控制对象。
视觉对象脚本
改进了并扩展了网格视觉脚本诊断面板(检查器面板底部)中显示的诊断,并通过将任何条目悬停在诊断面板中来在工具提示中查看的扩展说明,使其更具操作性。
某些新诊断(例如,“未声明变量”和“无法修改 prefab 定义”)会阻止环境的上传,直到它们被修复。 已上传的环境不受影响。
添加了 “字典项” 和 “字典项删除 ”事件,使视觉脚本能够有效地响应添加到字典类型组件属性和视觉脚本变量或从中删除的项。
模拟器中的客户端启动时间对于大型场景(具有数千个视觉脚本和数万个场景对象)进行了显著改进。 (60475)
已解决的问题
对于网格物理,我们在启动时删除了有问题的和不必要的机制,这些机制在启动时禁用了刚性组件,并在完全连接时重新启用它们。 (59804)
对于视觉脚本,我们修复了在 Unity 编辑器中保存时导致嵌入子图损坏的问题。 (保存在单独资产文件中的子图不受此问题的影响。(60183)
对于视觉脚本,将损坏的嵌入子图加载到 Unity 编辑器中会导致这些警告记录到编辑器控制台:
Failed to add element to graph during deserialization: [...]
(60183)对于视觉脚本,通过在项目面板中选择 prefab 资产(而不是在场景上下文中打开 prefab 定义或与层次结构面板隔离)编辑 prefab 定义时,网格视觉脚本诊断面板可能会显示误报诊断错误:
Cannot modify prefab definition
Invalid reference
但是,如果这些错误在编辑在场景上下文中编辑的 prefab 定义中编辑的视觉脚本或与层次结构面板隔离打开时,这些错误确实指向实际内容问题。 (60475)
Mesh Toolkit 5.2409.X
新增功能
Mesh Toolkit 上传程序
Unity 升级:24.9 工具包需要使用 Unity 编辑器版本 2022.3.34f1。 这是一次次要升级,因此已发布的内容将继续工作。
在 环境上传过程结束时显示的“生成和上传结果 ”窗口显示预处理器和验证程序的状态。 若要再次查看这些结果,请在菜单栏上的 Unity 中选择“网格工具包>验证>验证活动场景”。
在网格上传器中,每个环境都有一个平台支持的更新显示。 当前所选平台的图标以白色显示;未选择的平台显示为红色,并在滚动它们时显示工具提示警告。
替换了警告以前上传的平台的弹出窗口,这些平台不在当前所选内容中,而是在 UI 文本中显示警告。
视觉对象脚本
- 视觉脚本现在有权访问 物理 |提供命中信息输出的 Raycast 节点。 可以使用 Raycast Hit | ... 属性访问器节点检查通过此端口返回的值。
已解决的问题
使用刚性体 |设置位置和刚性 |设置旋转现在按预期工作,不再会导致受影响的物理体重新定位到最近将它们置于后期联接的视觉脚本的位置。
刚性体 |获取/设置位置和刚性体 |获取/设置旋转节点以及转换 |获取/设置位置和转换 |在转换层次结构中不存在或存在本地物理范围组件时,物理体获取/设置位置节点现在使用“由所有客户端共享”或“本地到此客户端”正确批注。
转换 |在应用于物理体时,设置本地规模 现在可在客户端之间正确同步。
网格模拟器拆分屏幕模式下视觉脚本中的光线广播始终针对第一个客户端的物理碰撞体而不是自己的客户端的问题已修复。 仅当对撞机几何图形在客户端之间不同时,此问题才明显,除非显式完成,否则通常不是这种情况。
Mesh Toolkit 5.2408.X
新增功能
内容性能分析器(CPA)
CPA 工具现在包含一个新的分析器,用于检查遮挡剔除数据。 如果场景中存在静态对象且没有遮挡数据,则会阻止上传,直到解析为止。
CPA 工具现在包含 AVP 模拟的 AVP 质量选项。
Mesh Toolkit 上传程序
修复了当文件不在磁盘上时导致上传在缩略图生成期间失败的 bug。
修复了使用 TMP 文本保存场景导致网格工具包包重新导入的 bug。
修复了一个 bug,该 bug 允许用户仍然使用已弃用的工具包版本。
设置标题已从“网格上传程序设置”更改为“Mesh Toolkit 设置”
Mesh Toolkit 5.2407.X
新增功能
现在,可以使用禁用域重载的网格仿真进入播放模式。 这应该显著加快网格模拟器的启动和停止时间,使你能够更快地循环访问。
修复了使用 TMP 文本保存场景导致网格工具包包重新导入的 bug。
同一集合中不再允许重复的环境名称。
添加菜单“Mesh Toolkit/Configure/Apply Mesh Font to Open Scenes”,用于更新打开场景上的字体,TextMesh pro 组件以使用默认网格字体。
Mesh Toolkit 5.2406.X
新增功能
视觉对象脚本
修复了模拟器中记录到 Unity 控制台在某些情况下的“无法反序列化可脚本对象”错误。
修复了以下问题:视觉脚本应用的共享属性(或变量)的更新有时可能会丢失,因为同一属性(或变量)的早期更新在一个不合时宜时从服务器往返返回。
修复了可视化脚本在非常大的场景中后期联接的仅限仿真器的问题,如果视觉脚本使用脚本变量将脚本变量传入
Transform
或GameObject
引用到脚本图中。 发生此问题时,以下措辞的警告级消息记录到控制台:“OnMessageReceived: 收到的具有正确类 ID 1 的消息,但数据包中的数据大小预期总计...数据包为 1988,索引 ...看起来不正确。
Mesh Toolkit 上传程序
Mesh Toolkit Uploader 将检查是否安装了 IL2CPP 模块,以允许构建 Windows 独立版(电脑)平台。
修复了某些使用默认网格字体的场景会导致工具包错误地生成字体的 bug。
配置默认字体时,通过根据需要自动导入 TMP 概要来改进网格工具包默认字体配置。
修复未找到有效集合时显示的额外错误。
添加一条消息,以在环境未上传之前的平台时填充空白空间。
Mesh Toolkit 5.2405.X
新增功能
Mesh Toolkit 上传程序
云脚本可以报告 场景地图 已过期,因为尚未保存场景。 由于保存场景是上传所必需的,因此无法将此报告为问题。 我们已将选项保存到上传程序执行的步骤的开头,以便保存场景或取消操作。
修复了在尝试重命名资产副本但以前的副本已存在时发生的 bug。 它还减少了生成失败后磁盘中剩余的副本数。
修复了某些使用默认网格字体的场景导致工具包在控制台中发出不必要的错误。
云脚本
云脚本现在仅生成在云脚本 游戏对象范围内的 Unity 场景中使用的动画器的类。 未使用的动画器或仅在场景的其他部分使用,将不再生成类。
如果云脚本包含对这些类的引用,将遇到如下编译错误:
error CS0246: The type or namespace name 'MyUnusedAnimator' could not be found (are you missing a using directive or an assembly reference?)
To resolve, ensure that the animator in question is used within the cloud scripting portion of the scene, or remove the reference from your cloud scripts.
请注意,此更改仅影响使用此版本的 Mesh Toolkit 或更高版本生成的云脚本。 现有网格环境部署不受影响。
可视化脚本编写
如果环境包含具有损坏(“Missing”)或未分配的资产图引用的 ScriptMachine,则不再完全禁用视觉脚本。
新的“显示输入对话框”视觉对象脚本节点可用于弹出一个对话框,提示用户输入文本。 用户输入的文本(以及他们按下关闭对话框的按钮)存储在视觉脚本变量中。
修复了字符串 |创建节点,该节点以前仅在模拟器中工作,但无法在独立生成中工作。
脚本图 UI 中的脚本节点选择器(模糊查找器)不再包含通过无法直接访问的类型访问继承的属性或方法的节点。
修复了以下网格可交互正文脚本节点在视觉脚本图 UI 中显示的共享标记,以正确表示所有客户端共享(而不是错误地位于此客户端):网格可交互正文 |已激活网格可交互正文 |在网格可交互正文中装备 |装备的网格可交互正文 |获取装备时间
这些可视脚本节点的功能保持不变。 如果需要这些属性的本地版本,可以将它们与网格交互正文组合在一起 |是 Mine 属性。
尝试在“所有客户端共享”的组件中
Variables
设置未声明的脚本变量不再会导致控制台错误泛滥。 相反,将忽略设置无效变量的尝试。即使未触发 On State Changed 事件本身,也可以在状态更改时读取状态更改输出。
这样,从 On State Changed 事件执行相同的脚本流也更简单,例如,一个 On Start 事件 ,该事件会导致相同的脚本流,以便根据启动时的初始状态一致地建立一些场景状态。
以前,尝试从其自己的脚本流外部读取 “状态更改 ”输出会导致记录错误(“值...无法动态提取,必须为其分配“,并且中止了有问题的脚本流。
现在,运行时的脚本错误在模拟器控制台中提供了更有用的诊断:
控制台错误现在包括触发有问题的脚本流的事件节点的名称
ScriptMachine
并标识。单击模拟器控制台中的错误消息会突出显示转换层次结构中的冒犯
ScriptMachine
。
Playmode
输入 Playmode 时的新场景验证:在 5.2405 之前,仅当尝试将场景上传到网格时,才验证场景。 现在,当用户尝试输入 Playmode 时,将进行场景验证。
如果用户在验证场景之前尝试输入 Playmode,则会出现新的错误消息:
还有一个新菜单项用于 验证活动场景:
网格工具包 5.2404.X (预览版)
注意
这是版本号末尾的 -preview 标记所 指出的网格工具包的预览 版本。 使用此网格工具包预览版发布的环境仅适用于网格预览版,并且 与稳定的公共版本的网格不兼容。 在发布稳定公共版本之前,请勿升级到此版本的 Mesh 工具包;稳定公共版本在版本号末尾没有 -preview 标记。
请注意,不要覆盖公司当前正在使用的环境和预览版。
新增功能
向 Mesh Toolkit 添加屏幕共享支持,使开发人员能够在其环境屏幕共享组件上放置,这些组件稍后将允许用户在网格中共享屏幕。
若要添加屏幕共享组件,可以:
- 打开场景层次结构>网格工具包>屏幕共享上的上下文菜单。
- 在网格工具包包上搜索屏幕共享 prefab,并将其拖放到场景中。
添加的 prefab 包含一个可编辑的根和一个无法上传的模拟 UI,以帮助开发人员放置和设计其环境。 在网格上上传和联接事件时,在 [NoUpload] 下修改提供的模拟 UI 将不会反映。 可以根据需要调整添加的 prefab 的大小并放置在场景中。
如果在场景中添加多个屏幕共享组件,当用户在网格上启动屏幕共享时,所有组件都会显示相同的屏幕。
Mesh Toolkit 上传程序
现在,在输入 playmode 而不是仅在上传场景之前,才会进行场景验证。
在继续上传之前,需要保存具有未保存更改的任何场景。 这是为了防止操作期间丢失这些更改,以及一些可能与场景状态之间的差异而发生的 bug。
修复了在获取有关要上传的资产的信息时出现 FileNotException 错误。
Fug 修复以防止在生成期间意外重命名资产副本,这可能会导致操作失败。
修复了在添加时已存在的缩略图相机重置,而不是引发错误。
当 Playmode 处于活动状态时禁用生成和发布,因为它会导致生成失败。
修复上载到图形失败时可能令人困惑的错误消息。 在生成后操作期间显示进度栏。
如果生成已失败,上传程序现在将跳过缩略图生成。
网格工具包 5.2403.X
新增功能
Mesh Toolkit 上传程序
网格工具包现在需要使用 Unity 版本 2022.3.15f1。 这是从以前的版本(2022.3.7f1)进行次要升级,因此项目应该升级而不出现问题。
如果在创建操作期间出现验证错误,用户将不再看到消息对话框。 失败将显示在结果对话框中,日志中会显示更多详细信息。
修复了登录后打开 ocv 导致 unity 崩溃的 bug。
在未能将 Mesh Toolkit 配置保存到磁盘时处理错误。
改进了结果对话框中网格上传程序扩展的状态报告。
网格模拟器
- 修复了当所有场景都变暗(如果第一个玩家离开)时模拟器上的 bug。
网格工具包 5.2402.X
新增功能
Mesh Toolkit 上传程序
ContentVersion 已递增到 1.25.0:新发布的内容仅在最近的 MeshBrowsers 中可见。
改进了在创建环境期间发生的故障的处理和报告。
如果找不到用户的任何集合,请添加提示以打开网格门户。
改进了取消对话框以选择新缩略图文件夹时的邮件。
Mesh 201 教程
- 网格工具包版本 5.2402.0(预览版)发布了 Mesh 201。 在本教程中,你将基于该知识并了解如何使用 WebSlates 在体验中显示 Web 内容。 本教程包括交互式地球;当体验中的某个人员单击地球时,将捕获被单击位置的纬度和经度,并且这些坐标作为参数合并到必应地图 URL 中。 使用此 URL 执行 HTTP 请求;必应地图提供所选区域的地图,并将其发送到附近的 WebSlate。
视觉对象脚本
在运行时,网格注入的节点在模拟器中不再不可见,并且不再用重复的“null 纹理”警告填充控制台。 (44056)
如果环境包含具有损坏(“Missing”)或未分配的资产图引用的 ScriptMachine,则不再完全禁用视觉脚本。 (36795)
修复了字符串 |创建节点,该节点以前仅在模拟器中工作,但无法在独立生成中工作。 (37040)
脚本图 UI 中的脚本节点选择器(模糊查找器)不再包含通过无法直接访问的类型访问继承的属性或方法的节点。 (37824)
修复了以下网格可交互正文脚本节点在视觉脚本图 UI 中显示的共享标记,以便正确表示所有客户端共享(而不是错误地将此客户端本地):
- 网格可交互正文 |已激活
- 网格可交互正文 |在
- 网格可交互正文 |装备
- 网格可交互正文 |获取装备时间
这些可视脚本节点的功能保持不变。 如果需要这些属性的本地版本,可以将它们与网格交互正文组合在一起 |是 Mine 属性。 (38589)
修复了网格模拟器中的脚本统计信息面板,如果尚未在本地计算机上打开该 Unity 项目的可视脚本图形 UI,则不会显示任何内容。 (40526)
修复了“网格可视化脚本诊断”面板,如果尚未在本地计算机上为该 Unity 项目打开视觉脚本图形 UI,则不会显示任何内容。 (40527)
修复了间隔过后偶尔在短序列中触发两次的 On Interval 节点。 (40894)
现在向视觉脚本公开了几个有用的呈现设置属性:
对于环境照明源设置为 Skybox 的环境:
请注意,若要查看天空盒材料更新对动态照明的影响,请包括动态 GI |修改 skybox 材料后更新环境脚本节点。
对于环境照明源设置为“颜色”的环境:
- 呈现设置 |获取/设置环境光 - 请参阅 Unity 文档
对于环境照明源设置为渐变的环境:
现在,多个行呈现器组件方法和属性将公开给视觉脚本:
许多有用的视频播放器组件方法和属性现在向视觉脚本公开。
方法:
属性 – 可以使用“状态更改”事件节点观察所有这些属性:
网格上传程序
ContentVersion 已递增到 1.25.0;新发布的内容仅在最近的 MeshBrowsers 中可见。
改进了在创建环境期间发生的故障的处理和报告。
如果找不到用户的任何集合,请添加提示以打开网格门户。
改进了取消对话框以选择新缩略图文件夹时的邮件。
网格工具包 5.2401.0 (预览版)
新增功能
工具包
已
ContentVersion
递增到 1.24.0:新发布的内容仅在最近的网格应用中可见。来自网格服务的一些错误没有足够的信息。 例如,某些错误只是报告为“BadRequest”或“BadGateway”。 我们改进了来自服务的错误消息,以包含更有用的详细信息。
通过将“选项”选项卡中的“设置”移动到“项目设置/网格上传程序设置”窗格以及其他上传程序设置,简化了选项的发现。
改进了缩略图生成失败时的错误处理。
改进了资产验证的错误处理。
如果无法创建资产的副本,则生成和发布操作不会继续。
修复了当窗口打开时需要地面碰撞层没有正确值的问题。
诊断和调试工具现在更易于在网格模拟器中发现和使用:
在 Unity 编辑器中 ,单击“输入拆分屏幕 ”按钮以启用拆分屏幕模式,这样就可以测试和调试多用户问题。
在拆分屏幕模式下,单击“添加”或“离开”,将更多分屏客户端添加到会话或使其离开会话。
选择 “脚本统计信息 ”以显示实时可视化脚本性能统计信息面板,例如:
哪些视觉脚本流需要执行最多每个帧的时间
最常更新共享属性和变量(并通过网络复制)
单击某个条目即可直接转到“层次结构”面板中的相应场景对象。
选择 Perf 统计信息 以显示给 视觉探查器 (仅在单屏模式下),以显示正在运行的场景的实时 CPU 和 GPU 性能统计信息。
脚本和物理
现在可以使用 On State Changed 视觉脚本事件观察物理体转换。 每当物理体直接在本地客户端或远程客户端上移动时,该事件将触发。 (31869)
在环境上传期间,视觉脚本验证步骤检测到的问题现在记录了显著改进的诊断和有关如何避免报告问题的扩展指南。 (34450)
版本 5.2315.0
版本列表和日期
这些是当前可用的产品/服务和程序包。 此处看到的列表中可能略有差异,以及你拥有或看到的包。
注意
环境项目的 Mesh 工具包包 的版本号必须 等于或早于你的环境所面向的网格应用(电脑或 Quest),否则环境将不会加载。 通常,可以使用非预览网格工具包包来确保这一点,该包仅在匹配的网格应用在应用商店中可用后发布。
网格产品/包 | 版本 | 发布日期 |
---|---|---|
网格工具包包 | 5.2315.0 | 2023-2-2 |
网格 (PC/Quest) | 5.2315.0 | 2023-2-2 |
新增功能
工具包
它
ContentVersion
已递增到 1.22.0。 新发布的内容仅在最新版本的网格应用中可见。添加了新的预生成验证,仅允许某些层上的 GameObject。
已将“ 创建资产 ”按钮重命名为 “创建环境”。
修复了生成阶段存在无效资产时结果报告中的生成状态。
如果租户管理员未设置诊断数据级别,则上传程序将发送可选诊断。
已将菜单项从 Mesh Toolkit/Configure/Default Font 重命名为 Mesh Toolkit/Configure/Apply Default Font Settings。
已将菜单项从 Mesh Toolkit/Configure/Project Settings 重命名为 Mesh Toolkit/Configure/Apply Project Settings。
在“网格上传程序 更新环境 ”选项卡中,单击 “缩略图 ”下拉列表并选择“ 从文件夹中获取”时,将显示一个按钮,其中包含用于显示 “添加临时缩略图 ”的标签,但现在显示 “添加指导缩略图”。
当用户在项目外部选取文件夹时,现在会显示一个错误对话框。
修复了上传程序扩展系统中的 bug:
元数据阶段意外运行多次。
在某些情况下,元数据结果将被忽略。
现在,当没有活动场景时,生成后,我们返回到空的默认场景。
现在,我们避免显示无法在网格中验证的集合。
现在,我们在上传程序窗口中显示工具包包版本。
上传程序生成平台现在按项目设置而不是按计算机设置存储。
改进了上传程序如何处理正在取消的操作。
更改窗口焦点时,防止刷新资产列表。
使用工具包预览版时添加了更新的标题和警告。
当 Unity 在操作期间重新加载程序集时,我们清除了令人困惑的进度栏。
现在,如果重试操作时身份验证已过期,则提示用户重新进行身份验证。
有时上传程序会在对用户进行身份验证时遇到
UserInteractionNeeded
异常。 现在,通过将用户委托给基于 Web 浏览器的身份验证来缓解此问题。对层的重大更改:我们重命名了多个层,将当前未使用的层移动到保留层,并更新了跨层交互。 请参阅 “配置虚拟形象移动和传送”。
将设置从
RequireNavMeshLayer
中移动到RequireGroundCollisionLayer
。修复了成功发布的结果对话框中的失败消息。
脚本编写
NavMesh 层现在称为 GroundCollision 层。 有关 GroundCollision 层的使用的详细信息,请参阅 “配置虚拟形象移动和传送”。
在动态目标上设置的共享属性和脚本变量(例如,从脚本变量读取目标组件实例或在脚本运行时推断出)现在可靠地处理整个场景中的所有可行目标。 (32730)
以前,在脚本运行时动态推断目标时,整个场景中只有一部分可行的目标实例能够可靠地工作。 这不包括放置在转换树的同级分支中的目标实例。
隐式
This
场景对象上的任何内容它下方的任何内容
任何父级的任何内容
This
场景对象是执行视觉脚本所附加到的 GameObjectScriptMachine
。例如,如果你尝试设置 -type 组件的共享属性
Foo
,并且你正在使用变量来动态引用特定Foo
实例以打开该属性,则对于以下Foo
任何实例,这只会可靠地工作:附加到
This
= 与运行视觉对象脚本相同的 GameObjectScriptMachine
附加到转换层次结构中任何父级/上级 GameObject
This
已附加到转换层次结构中此项的任何子/子代 GameObject
在子图中使用计时器节点不再会导致记录与记录相关的
OptimizedTimerUnitUpdateScheduler
重复错误消息。 (31866)可视化脚本图形 UI 现在包含网格和 Unity 视觉脚本节点的用法说明和有用的提示。 (25922)
不再需要添加到
Microsoft.Mesh.VisualScripting.xml
版本控制。 如果之前已将其部署到 Unity 项目中,则可以安全地将其从版本控制中删除。 (25922)在“本地脚本范围”组件中,此 GameObject 设置上的“共享视觉脚本变量”现在默认为关闭,此时此组件的新实例将添加到场景中。 现有实例不受影响。 (26551)
网格在运行时注入的特殊脚本节点现已显著改进视觉对象和处理(30925):
已减少注入节点的视觉占用,以消除视觉混乱,并使脚本流在执行时更易于遵循。 它们现在已牢牢地附加到相邻用户定义节点之一。
注入节点的新视觉对象:
新视觉对象 注入的节点 分析(流开始) 数据筛选 状态跟踪 当数据筛选节点阻止数据并传递
Null
值时,其图标更改及其工具提示显示最近阻止了哪些数据的诊断信息:- 在模拟器中的运行时编辑脚本图时,注入的节点现在会根据需要自动注入和删除。
脚本图在一些对象引用中保存了冗余类型和版本控制信息。 这不会明显影响用户体验。 不再包含此冗余信息。 (30688)
如果转换层次结构中选择了多个组件,则 网格可视化脚本诊断 面板现在可正确显示所有选定
ScriptMachine
组件的诊断。 以前,仅显示第一个所选 ScriptMachine 的诊断。 如果同时选择了多个错误,则会将错误记录到控制台面板。 (30873)访问 Travel Point 方法和属性现在适用于所有情况。 以前,当 旅行点 以隔离方式设置且未嵌套在显式 旅行点组中时,并且从另一个脚本节点(例如,从 Get 变量 节点)传递给方法或属性节点的引用时, 旅行点 引用在运行时被错误地筛选掉,并且方法调用或属性访问将不起作用。 (31414)
WebSlate
添加了用于防止 WebSlate 在用户处于距离或屏幕外时挂起的选项。 对于需要在后台保持运行的石板非常有用,但如果过度使用,可能会导致性能问题。 通常,为了节省资源,WebSlate 会在退出屏幕后暂停 30 秒,或者变得太小而无法有用。
选中 WebSlate 时,可以在 Unity 的检查器中看到此选项,如名为“阻止挂起”的 WebSlate 脚本上的复选框。
网格 101 教程
- “ 创建资产 ”按钮现在 为“创建环境”。 请参阅 网格 101 教程第 5 章:使环境可供测试。
版本 5.2314.0
版本列表和日期
这些是当前可用的产品/服务和程序包。 此处看到的列表中可能略有差异,以及你拥有或看到的包。
注意
环境项目的 Mesh 工具包包 的版本号必须 等于或早于你的环境所面向的网格应用(电脑或 Quest),否则环境将不会加载。 通常,可以使用非预览网格工具包包来确保这一点,该包仅在匹配的网格应用在应用商店中可用后发布。
网格产品/包 | 版本 | 发布日期 |
---|---|---|
网格工具包包 | 5.2314.0 | 2023-12-4 |
网格 (PC/Quest) | 5.2314.0 | 2023-12-4 |
新增功能
脚本编写
“ 状态更改 ”事件节点在禁用后和以后重新启用后
ScriptMachine
可正常工作。 以前,节点首次禁用后,错误地停止了完全和无限期的触发。 (26333)在脚本图中,当脚本图形窗口可见时,每个节点注释都位于此客户端的本地,并且所有客户端共享现在可可靠地实时更新场景。 (26334)
网格可交互正文 |Selected 属性现在在网格仿真模式下正确联网。 以前,它的行为不正确,就好像它是本地属性,即使它在网格客户端中建立网络也是如此。 (26792)
网格注入的框架节点(例如, 跟踪对象状态 和 清理数据)在网格仿真模式下运行场景后不再保留在二级子图中。 (28966)
当 On State Changed 事件节点用于观察共享属性或变量时,它现在会立即在本地更改属性或变量后触发。 以前,对于共享属性或变量,它仅在本地更改发送到服务器并从服务器接收后触发,即使在发送客户端上也会产生网络延迟。 (28968)
脚本图形编辑器中的可用脚本节点现在可靠地表示网格中支持的内容,并且不再需要添加到
UnitOptions.db
版本控制,因为它在打开 Unity 项目时自动生成。 (26109)以前,可以使用不兼容的项目设置(默认)项目设置轻松自动填充可用脚本节点列表,或者无需筛选即可仅包含网格支持的节点。 例如,如果用户在开始处理视觉脚本之前选择不应用网格项目设置,或者如果用户手动编辑了视觉脚本 的类型选项 或 节点库 并选择“ 重新生成节点”,则可能会发生这种情况。
物理学
- 在触发器 Enter、触发器退出、碰撞输入和碰撞退出时的物理事件节点现在可靠地建立网络。 默认情况下,这些事件在会议室中的所有客户端上可靠地触发。 但是,如果这些事件节点观察到的物理对撞机位于本地物理范围组件的范围内,则事件会在一个客户端上可靠地触发,从而使它们触发的脚本流能够可靠地读取和写入共享状态(例如:更新共享分数变量)。 (27635)
可交互对象
可装备的对象 现在对鼠标按钮向下响应,而不是鼠标按钮释放。 (27858)
在 Quest 设备上:若要选取一个 可装备的对象,只需将手靠近该对象并单击“手柄”按钮即可。
以前,需要将控制器光线指向对象,然后单击“ 手柄 ”按钮。 这感觉非常不自然,与接近的对象交互。 当你非常接近某个对象时,很难将控制器光线指向它以交互。 (24187)
验证添加到环境上传的唯一 ID 。 若要验证场景中具有有效唯一 ID 的可交互对象,请转到 Mesh Toolkit -> 验证唯一 ID。 (25151)
可引发的对象有一个新的设置,用于 引发方向偏移。 这会添加到对象被引发的方向。 (26308)
MeshInteractableSetup
将不再允许物体既可操作又装备。 以前定义为这两者的对象只能装备,如果不是预期,你可以将其改回可操纵对象。 (26632)
上传程序
ContentVersion 已递增到 1.21.0:新发布的内容仅在最近的网格版本中可见。
如果未在场景中找到缩略图相机,环境缩略图将基于旅行点自动生成。
已将 上传程序用户界面和日志上的 Mesh World 重命名为 环境集合 。
更新了网格徽标。
修复了以前为空的 “反馈 ”窗口。
向上传程序对话框添加了工具提示,该对话框可能包含在发生故障时有用的信息。
使扩展工具的“结果”部分成为可扩展区域。
修复了上传程序可能显示为处于有效状态但显示声明用户许可证无效的对话框的 bug。
修复了缺少 TMP 设置不会设置默认字体的 bug。
修复
ArgumentNullException
了使用 切换 [NoUpload] 后缀 而不选择 GameObject 时。上传程序找不到 OneDrive 文件夹时,添加了图形错误的处理程序。
无法上传缩略图现在将正确报告为错误,在尝试发布资产之前失败。
修复了在上传禁用条目之前显示警告的问题。
WebSlate
- 修复了此问题:在 Quest 上,如果用户从睡眠状态恢复,如果事件有 WebSlate,则输入事件将崩溃。 (27705)
错误消息
TravelExceptionReason
新的和本地化的错误消息:RelayServerUnreachableException
糟糕! 无法连接。 请检查 Internet 连接,然后重试。 如果继续遇到此问题,请咨询 IT 部门并提及:客户端在连接超时内未收到来自中继服务器的响应。 (29004)
TravelExceptionReason
新的和本地化的错误消息:RelayNetworkException
糟糕! 无法连接。 请检查 Internet 连接,然后重试。 (29004)
版本 5.2313.0
版本列表和日期
这些是当前可用的产品/服务和程序包。 此处看到的列表中可能略有差异,以及你拥有或看到的包。 我们正在努力创建更好的产品/服务和包版本的透明度和标准化,以便更轻松地升级。
注意
网格(PC 或 Quest) 的版本号必须与 使用的网格工具包创作包版本匹配,否则可能会收到错误或无法解释的行为。 请暂停升级网格工具包创作包,直到目标平台(电脑或 Quest)的网格客户端版本可用。
网格产品/包 | 版本 | 发布日期 |
---|---|---|
Mesh 工具包包 | 5.2313.0 | 2023-11-13 |
网格 (PC/Quest) | 5.2313.0 | 2023-11-13 |
新增功能
脚本编写
Unity 中 UnityEvents 和动画事件的限制
UnityEvents 和动画事件必须调用视觉脚本。 不允许它们直接操作属性或调用方法。 此限制适用于以下各项:
- 在时间线中
SignalReceiver
- 在动画事件中
下面是作为起点的 SignalReceiver
UnityEvent 的用途:
对于动画事件,这与使用动画事件视觉脚本触发器和对象上的
ScriptMachine
相应TriggerAnimationEvent
函数相同,其中动画事件中的函数和Float
,Int
String
参数可以任意使用或填充。创建一个
ScriptMachine
视觉脚本,该脚本使用 UnityEvent 触发器并执行要执行的操作。为 UnityEvent 触发器选择描述性名称,例如
DoThing
:在
SignalReceiver
以下步骤中设置 UnityEvent:ScriptMachine
针对为视觉对象脚本创建的目标。- 要调用的函数,请选择
ScriptMachine > TriggerUnityEvent (string)
。 - 在参数字段中,输入 UnityEvent 触发器的名称(例如
DoThing
)。
- 要调用的函数,请选择
物理学
添加了组件
LocalPhysicsScope
以创建场景层次结构的一部分,其中刚性正文在客户端之间不同步。添加了该组件
ThrowTrajectory
,用于计算刚性轨迹的未来位置。
WebSlate
我们修复了以下问题:它允许脚本(可视化脚本 和 云脚本)在启动时正确控制 WebSlate。
在修复之前,如果脚本在启动时导航或推送 HTML 内容到 WebSlates,则由于争用条件,它不会正确显示。
添加了用于防止 WebSlate 在用户处于距离或屏幕外时挂起的选项。 对于需要在后台保持运行的石板非常有用,但如果过度使用,可能会导致性能问题。 通常,WebSlate 会在退出屏幕后暂停 30 秒,或者变得太小而无法有用,以节省资源。
选中 WebSlate 时,可以在 Unity 的检查器中看到此选项,如名为“阻止挂起”的 WebSlate 脚本上的复选框。
上传程序
已
ContentVersion
递增到 1.20.0:新发布的内容仅在最近的网格应用中可见。修复了世界列表和环境下拉列表中的呈现问题。
修复了以下 bug:当文本溢出窗口边界时,创建选项卡 UI 将错误地绘制。
修复了上传程序在生成失败后引发正则表达式异常的 bug。
添加了在发布资产时检查潜在的 null 引用异常。
内容性能分析器(CPA)
内容性能分析器报告的批处理计数和网格性能探查器现在基于 Unity 的 SRP 批处理器标记更准确地计数。
注意
批处理计数将不再在 Unity 编辑器之外报告,因为它们无法在发布版本中准确计数。
已解决的产品问题
- 此问题:“在 Unity 程序包管理器 的程序包说明部分查看时,包的
com.microsoft.mesh.toolkit
隐私声明将被截断”-- 已修复。