运动学工具 (Kinematic Tool, Pro)

ℹ️

运动学工具仅包含在 realvirtual.io Professional 版本中。

如果您不使用 Professional 版本,请使用运动学 (Kinematic)组 (Group),并手动添加驱动器 (Drives)或物理关节。

KinematicTool 提供了一个图形用户界面 (GUI),用于在 realvirtual 中创建、配置和管理运动学轴及其组件。它使用户能够轻松创建和操作轴、设置轴参考、管理限制,以及处理轴和其他组件之间的连接。

该工具将所有配置保存在 Axis 脚本中,该脚本会自动添加到相关组件中。在后台,KinematicTool 根据运动学定义添加必要的标准组件,如驱动器 (Drives)运动学 (Kinematic)组 (Group)。用户可以定义精确跟随驱动器位置的运动学轴(带有驱动器),以及由 Unity 物理连接控制的物理轴(带有 Unity PhysX Joints)。

有关使用运动学工具的详细演练,请务必查看我们的

打开运动学工具

要打开运动学工具窗口,您可以:

  • 在 realvirtual.io 菜单中选择 Tools > realvirtual > Kinematic Tool
  • 点击 realvirtual 场景覆盖菜单中的 "Axis" 按钮。
  • 使用热键 "Alt+K"

创建运动学轴

打开运动学工具:

  • 打开运动学工具时,轴将作为当前选中 GameObject 的子对象创建。
  • 在提供的字段中输入新的轴名称 (Axis Name)
  • 点击 Create Axis 生成轴。
创建新 Axis

选择轴参考

创建轴后:

  1. 选择参考 GameObject:
    • 选择一个定义轴位置的 GameObject。此 GameObject 不需要是轴本身的一部分;它用于建立旋转中心点或移动方向。
  2. 可视化参考点:
    • 在设置轴参考模式下,您可以将鼠标悬停在 GameObject 上。几何中心将以白色十字标记,而对象的枢轴点将以绿色、红色和蓝色十字指示。这些中心可用作参考点。
  3. 选择参考类型:
    • 枢轴点 (Pivot Point):优先使用 GameObject 的枢轴点以获得准确的轴定位。
    • 包围盒中心 (Bounding Box Center):如果枢轴点不合适则使用此选项。
    • 半径中心 (Radius Center):如果没有合适的对象则选择此选项。对于半径中心,您需要在对象上选择三个顶点来定义中心点。

按照这些步骤操作,可确保运动学轴的精确定位和方向。

选择轴参考

选择轴方向

  • 选择轴方向:
    • 选择参考点后,下一步是设置轴的方向。您可以选择方向,它将以粉色线条显示在编辑器中。或者您可以使用"Ctrl + D"迭代一些选项。
    • 可以为当前轴旋转定义偏移量。使用"Ctrl + R"浏览标准值。
  • 可视化轴类型:
    • 轴的类型将使用 gizmo 指示,帮助可视化轴配置。
  • 调整 Gizmo 距离:
    • 使用 Gizmo Distance 选项修改线长度和距离。这允许精确调整场景中轴的视觉表示。
选择轴方向
  • 轴方向 (Axis Direction):从下拉菜单中选择方向或使用"Ctrl + D"浏览选项。
  • 轴旋转 (Axis Rotation):为当前轴旋转定义偏移量。使用"Ctrl + R"浏览标准值。

创建遵循特定运动约束的物理轴时,您应该定义上下限。这确保轴在操作过程中遵守这些边界。

选择属于轴的部件

轴是一个运动学组件,由多个一起移动的 GameObject 组成。要定义哪些 GameObject 属于轴,请按照以下步骤操作:

选择部件模式(通过悬停部件选择)

  1. 选择部件模式:
    • 激活"Select Parts"模式以开始定义哪些部件将与轴关联。
  2. 高亮和选择部件:
    • 悬停在场景中应属于轴的部件上。部件的网格将高亮显示以便识别。点击鼠标左键将高亮的部件添加到轴中。
  3. 取消选择部件:
    • 要从选择中移除部件,请在点击它们时按住"Shift"键。

如果 CAD 结构不是面向运动学的,需要逐个选择每个部件时,此模式特别有用。

在场景中选择部件(在层次结构视图中选择)

要退出"Select Parts"模式,请点击与此模式关联的粉色按钮。然后您可以直接在层次结构视图中选择部件。如果 CAD 结构已经有一定程度面向运动学,并且您希望选择整个层次结构元素,此方法很有用。在层次结构视图中选择元素后,点击"Add Selected Parts"将所有选中的部件及其子部件包含在轴中。

通过碰撞检测选择部件

  1. 选择邻居:
    • 使用"Select Neighbours"功能选择当前定义轴部件的所有相邻部件。此功能仅识别直接邻居。
  2. 填充:
    • "Fill"选项选择位于当前选中组件之间的所有部件。
  3. 选择连接的:
    • "Select Connected"功能识别连接到选中组件的所有部件,包括非直接邻居的部件。

使用"Select Neighbours"、"Fill"或"Select Connected"后,检测到的部件将在 Unity 的层次结构视图中高亮显示。您可以在最终确定之前审查选择。点击"Add Selected Parts"将这些部件纳入轴中。

添加驱动器

要使用驱动器控制轴,请点击"Add Drive"。此操作意味着轴的位置将完全由驱动器管理。如果您选择不添加驱动器,轴将完全由物理关节控制。

更改视图、隔离和隐藏模式

在选择部件时,您可以使用"Isolate"或"Hide"按钮调整视图。这些选项允许您隔离或隐藏选中的部件,以获得更好的可见性和管理。

选择部件时的隔离模式

定义运动学层次结构

对于驱动器控制的轴:

  • 要为驱动器控制的轴定义运动学层次结构,您可以简单地在层次结构中将一个轴排列在另一个轴下方。
Gameobject 层级中按父子关系排列的运动学层级
  • 或者,您可以在"Connected Axis"下指定运动学父级。这将在仿真开始时自动建立运动学层次结构。

对于物理轴:

  • 物理轴通过关节由 Unity 物理控制,没有驱动器。因此,您应避免使用 GameObject 层次结构来表示运动学链。相反,使用"Connected Axis"定义运动学连接。
  • 如果您需要在一个运动学对象上设置两个轴,请将附加轴定义为第一个物理轴的子级,并选择"Secondary Axis"。此设置将在仿真开始时自动在一个 Rigidbody 上创建两个或更多关节。
一个 Axis (TCP) 上的次轴 (TCPConnection)

© 2025 realvirtual GmbH https://realvirtual.io - 版权所有。未经出版商事先书面许可,不得以任何形式或任何方式(包括打印、保存、影印、录制或其他电子或机械方法)复制、分发或传播本出版物的任何部分。