(一)Group Script组件
Group 由 GroupName 命名。
对于 Prefabs (预设件),您还可以定义对另一个对象的引用,这将为组名称创建 Prefix。
如果要生成使用 Group 函数的可重用预制件,这将特别有用。
Group scritp 由 Kinematic 脚本专门使用。
通常一个CAD零件由许多层级的子对象构成。
如下图所示,我们在层级1161292_p05_000_01上加了Group组件,就意味这个CAD零件的所有子对象的mesh都变成一个组。
这个组命名为GripperBase。之后这个组会在Kinematic组件中被调用、Driver组件也会让整个GripperBase组运动起来。
如果没有Group和Kinematic组件,你就得修改CAD零件的层级关系,让Drive去运控这个层级的根。
如果修改了CAD零件的层级关系,那后果就比较严重: 一是CAD零件更新了重新导入时你就傻眼了;二是你的工作量将会非常的巨大。
game4automation-->Select Windows(选择窗口)是一个工具,它允许您轻松隐藏和显示组。
下图是Select Windows的面板:
| 将选定组件添加到 rvselection 中 |
| 将 rvselection 移动到 Unity 选择 |
| 从 rvselection 中删除选定的对象 |
| 从 rvselection 中删除所有对象 |
| 选择所有不可见对象 |
| 选择所有可见对象 |
| 选择所有未锁定的对象 |
| 选择所有锁定的对象 |
| 选择已定义图层上的所有对象 |
| 选择具有已定义材质的所有对象 |
| 指定选定材质 |
Change Shader | 更改材质的着色器 |
Material Update | 通过材质更新,场景中定义的材质可以替换为其他材质。 |
| 抑制层次结构视图中的所有子零部件 |
| 将零部件移动到新的(选定的)父项 |
| 创建零部件的副本并将其移动到新的(选定的)父项 |
| 将组件移动到定义的图层 |
| 使所选组件可见 |
| 使所选组件不可见 |
| 隔离所选零部件(并使其余零部件不可见) |
| 停止隔离并显示所有组件 |
| 锁定组件 |
| 解锁组件 |
| 将零部件分配给定义的组。如果该组尚不存在,则会创建该组。 |
| 从选定组件中删除所有组 |
| 将所有组件折叠到同一层次结构级别 |
| 将所有组件扩展到同一层次结构级别 |
| 将零部件的枢轴移动到已定义零部件的原点 |
| 将零部件的枢轴移动到已定义零部件的中心 |
| 使组件成为静态 |
| 使组件非静态 (可移动) |
| 从所选组件中删除所有 realvirtual.io 脚本 |
Remove missing scripts | 从当前选择中删除所有 null 分量 |
(二)Kinematic 组件
很多时候,当从外部来源(如 CAD 系统)导入 3D 零件时,3D 数据不是以运动学方式构建的。
realvirtual.io 运动学基于游戏对象的层次结构。这意味着,层次结构还定义了运动链。
要创建运动链,有多种方法。在导出到 Unity 之前,可以在 realvirtual.io 或 CAD 系统中手动重构游戏对象层次结构。
但通常情况下,最好保持导入的结构不变。在设计更改的情况下,如果您再次重新导入 3D 数据,这将有助于更新工作流程。
Kinematic 组件用于重构 Kinematic 链和重新定位对象,而无需手动更改导入的 3D 数据 (也不更改 CAD 系统中的数据结构)。
Kinematic 组件提供这 4 个功能。所有函数都在模拟开始时启动:
1. 重新定位原点并将其与另一个游戏对象原点对齐。这还将移动 Kinematic (运动学) 组件的子项。
2. 移动枢轴中心并保持子游戏对象的位置以定义旋转点。
3. 将已定义组(由Group Script组件定义的)中的零件集成到此 Kinematic 零部件中。
4. 定义 Kinematic 父项,以将 Kinematic 游戏对象及其子项移动到另一个游戏对象下。
(1) Gizmo
在大型 CAD 设计中,您经常使用大量基于 Integrate Group 功能的运动组。
由于附加了 Kinematic 脚本的游戏对象通常为空,因此可以启用 Show Group Gizmo。
这将高亮显示属于已定义组的所有网格,如下图所示。
下图是不显示网络的时候。
因为运动的对象通常由一堆3D零件构成,如果显示它们组的网格,有助于我们观察哪些部分会动起来。
(2)Reposition
在仿真启动时零件可能未按预期放置。如果选择此选项,则可以重新定位任何游戏对象。您需要分配另一个引用游戏对象,此部分将放置在该游戏对象的位置。部件的 Pivot 原点将与定义的 Gameobjects pivot 对齐。该操作将在模拟开始时执行。
(3)Move Center
您可以移动零件的中心,而不移动底层零件本身的位置。
为此,您可以定义一个矢量(以毫米为单位)和一个旋转(在局部坐标系中),零件的中心应移动到该位置。
该操作将在模拟开始时执行。
(4)Integrate Group
您可以将组集成到此运动零件中。
为此,您需要将 Group 脚本分配给任何其他游戏对象,并为该组命名。
Integrate Group 将在仿真开始时将具有定义组的所有零件移动到该运动零件的下方。
这是最重要的功能。
使用此方法,您可以定义与导入的 CAD 数据并行的 CAD 设计结构独立运动组。
为了重新使用元件,您可以在 Group Name Prefix 指定组前缀的部件。
(5)New Kinematic Parent
使用 New Kinematic Parent,您可以在模拟开始时将此零件移动到另一个零件的下方。

