网格工具 (Mesh Tools, Pro)

ℹ️

此功能在 realvirtual 6.3.3(Professional)中添加

网格工具是一个带选项卡的编辑器窗口,汇集了用于处理导入 CAD 模型的网格相关实用程序。它提供两个工具:Auto Correct Pivots 用于修复偏离中心的网格原点,以及 Mesh Separator 用于将合并的网格拆分为单个部件。

访问网格工具

编辑器窗口:

Tools > realvirtual > Mesh Tools (Pro)

上下文菜单(Mesh Separator 快速访问):

  • 右键点击 GameObject > realvirtual > Separate Mesh
  • 右键点击 GameObject > realvirtual > Merge Child Meshes

选项卡 1:Auto Correct Pivots

Correct Pivots 选项卡显示传送带系统的分析结果 —— 全部 12 个网格通过,零偏移

概述

CAD 模型经常带有远离实际几何体的网格枢轴(变换原点)。一个小支架的原点可能在距其数百毫米的机器全局零点处。这会导致旋转行为不佳、对象放置困难以及驱动器轴的问题。Auto Correct Pivots 通过将网格顶点围绕局部原点重新居中并补偿变换来修复此问题,使几何体保持完全相同的 世界位置。

工作原理

对于选定层次结构中的每个网格,工具会:

  1. 计算网格中心距局部原点的距离
  2. 克隆网格并偏移所有顶点,使中心成为原点
  3. 移动变换进行补偿,使网格在视觉上保持在原位
  4. 保留所有子对象位置,使层次结构中的任何内容都不会移动
  5. 更新引用原始网格的所有 MeshCollider
  6. 将修正后的网格保存为 Assets/CorrectedPivots/ 中的资源

设置

  • Root Object — 要扫描的根 GameObject。分析此对象下方层次结构中的所有 MeshFilter。默认为当前选择。
  • Min Offset (mm) — 仅修正枢轴距网格中心超过此距离的网格。默认:1.0 mm。增大此值可跳过偏移较小的网格。

工作流程

  1. 选择导入 CAD 模型的根对象
  2. 打开 Tools > realvirtual > Mesh Tools (Pro)
  3. 默认显示 Auto Correct Pivots 选项卡
  4. 设置根对象并根据需要调整阈值
  5. 点击 Analyze 扫描层次结构 — 结果列表显示每个网格及其偏移距离
  6. 审查结果 — 点击任意项在层次结构中定位/选择它
  7. 点击 Apply All Corrections 批量修正所有超过阈值的网格
  8. 如需撤销整个操作,使用 Ctrl+Z

跳过的内容

  • 偏移低于阈值的网格
  • 带有 SkinnedMeshRenderer 的 GameObject(基于骨骼的蒙皮会损坏)
  • 未分配网格或顶点数为零的 MeshFilter

注意事项

  • 修正后的网格保存为 Assets/CorrectedPivots/ 中的 .asset 文件。您可以安全删除此文件夹以回收磁盘空间 — 网格由场景引用。
  • 如果多个 GameObject 共享相同的源网格,每个都会获得自己的修正副本。
  • 该操作在旋转和缩放的对象上也能正确工作,包括深层嵌套层次结构中的对象。

选项卡 2:Mesh Separator

Scene 视图中带颜色编码孤岛预览的 Mesh Separator —— 在机器组件上检测到 18 个孤岛

概述

CAD 导入和网格烘焙工具通常生成包含多个断开部件的单个网格。Mesh Separator 使用 Union-Find 算法和可配置的顶点焊接来检测这些断开的岛屿,并让您将它们拆分为单独的 GameObject。您也可以通过将多个子网格合并为一个组合网格来反转此过程。

主要功能

  • 岛屿检测 — 使用顶点连接性分析自动查找断开的网格区域
  • 颜色编码预览 — 每个岛屿在场景视图中以独特颜色覆盖和线框高亮显示
  • 选择性分离 — 使用每个岛屿的切换开关选择要分离的岛屿
  • 网格合并 — 将多个子 MeshRenderer 合并为父对象上的单个网格
  • 顶点属性保留 — 保留法线、切线、UV(所有通道)、顶点颜色和骨骼权重
  • 子网格和材质支持 — 在分离过程中维护材质分配和子网格结构

设置

  • Weld Threshold — 距离小于此值(以米为单位)的顶点在连接性检测中被视为同一点。默认:0.0001。如果应该连接的岛屿被拆分,请增大此值。
  • Delete Original Mesh — 启用时,分离后移除原始 MeshFilter 和 MeshRenderer。禁用时(默认),仅禁用原始渲染器。
  • Auto Preview — 每当选择新对象时自动更新岛屿预览。

岛屿

显示检测到的岛屿,带有色样和顶点/三角形计数。使用复选框选择要分离的岛屿。AllNone 按钮可快速切换所有岛屿。

操作

  • Separate All — 将每个检测到的岛屿分离为其自己的子 GameObject
  • Separate Selected — 仅分离选中的岛屿
  • Merge Child Meshes — 将所有子 MeshRenderer 合并为选中父对象上的一个网格

工作流程

  1. 在场景中选择具有组合网格的 GameObject
  2. 打开 Tools > realvirtual > Mesh Tools (Pro) 并切换到 Mesh Separator 选项卡
  3. 预览自动激活,在场景视图中为每个岛屿着色
  4. 使用复选框切换各个岛屿的开/关
  5. 点击 Separate AllSeparate Selected
  6. 分离的部件作为带有单独网格的子 GameObject 出现

常见用例

  • CAD 装配体拆分 — 将作为单个组合网格导出的导入 CAD 模型拆分为单个部件,用于动画或交互
  • 驱动器分配 — 分离组合网格,使每个部件可以分配到自己的驱动器组件以实现独立运动
  • 选择性导出 — 拆分网格以隔离特定部件用于 GLB 导出或 WebViewer 使用
  • 性能优化 — 将之前分离的部件合并回一个网格以减少绘制调用
  • 传感器准备 — 通过先分离网格为每个部件创建单独的碰撞体

另请参阅