Version: 6000.3
语言: 中文
表达
关节身体组件参考

物理发音简介

物理关节是一组组织在逻辑树中的关节体,其中每个父子关系都反映了相互约束的相对运动。

物理衔接的主要目的是为涉及关节允许刚体组件之间动态连接的物理组件,通常允许某种程度的移动,例如铰链。更多信息
请参阅术语表
.例如,它们比常规关节更容易模拟机械臂和运动链。

关节设置与常规关节

在最基本的方案中,要将两个物理形体链接到单个关节,可以构建关节或使用常规关节,如下表所述。

Unity 组件 铰接设置 使用常规接头设置
等级制度
  • 游戏对象 + 关节体
    • 游戏对象 + 关节体
  • 游戏对象 + 刚体
  • 游戏对象 + 刚体 + 关节
关系 游戏对象具有层次结构关系(父子关系)。
注意:物理引擎使用 Unity 变换层次结构来表达父子关系。
游戏对象不一定具有层次结构关系。
注意:在更高级的场景中,您可以自由模拟运动循环。
身体 游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
具有 关节形体(Articulation Body) 组件,该组件定义物理形体属性(以及其他)。
两个游戏对象都有一个RigidBody 允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表
组件,它定义了物理身体属性(以及其他)。
关节 子游戏对象的 Articulation Body 包含关节属性,您可以在其中选择关节类型。 其中一个游戏对象还有一个 Joint 组件。关节属性取决于您添加的关节组件的类型。

但是,在这两种情况下,总体结果行为并不相同,特别是当您将此原理扩展到多个物理体和关节时。

如果您尝试使用常规关节来模拟运动链,例如在布娃娃、机械臂或具有多个并发铰链的机构中,则物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息
请参阅术语表
可能会遇到无法解决的场景,并使某些约束条件得不到满足。这可能会导致卡顿和不切实际的运动。这些关节不仅看起来很奇特,而且也不可能将它们用于模拟真实设备,从而阻碍了对工业设计进行建模或原型制作的工作。

在 Unity 中构建衔接

若要在 Unity 中构建物理关节,必须向关节包含的每个游戏对象添加关节体组件。每个 Articulation Body 组件都允许您在一个位置进行配置:

  • 相应游戏对象的物理身体属性。基本上,它的质量和它对物理环境的响应方式。

  • 将游戏对象链接到其父游戏对象的关节的类型和属性(关节的根除外)。

以下示例显示了一个简单的物理关节,涉及 3 个物理体和 2 个关节:

具有三个物理体和两个关节的物理关节。
具有三个物理体和两个关节的物理关节。

要在 Unity 中构建这样的衔接:

  1. 创建 3 个游戏对象的线性层次结构。

  2. 将 Articulation Body 组件添加到这 3 个游戏对象中的每一个。

  3. 配置每个 Articulation Body 组件(根据上图):

游戏对象 Articulation Body 组件配置
A(根) 您只能为游戏对象 A 定义物理体属性。
B 您可以定义:
  • 游戏对象 B 的物理体属性。
  • 与游戏对象 A 的关节的类型和属性。
C 您可以定义:
  • 游戏对象 C 的物理体属性。
  • 与游戏对象 B 的关节的类型和属性。

注意: 根据定义,关节只能有一个根,并且不允许具有运动循环。如果您需要运动循环,请使用常规关节

限度:如果您想构建很长的关节链,您仍然必须知道 Unity 支持的最大层次结构深度为 64 个游戏对象。

关节关节类型和自由度

您可以选择和配置四种类型的铰接接头 通过关节体:

  • 固定关节一种完全约束的关节类型,允许将两个物体固定在一起。作为弹簧实现,因此仍可能发生一些运动。更多信息
    请参阅术语表
    :在物体之间设置刚性、牢不可破且不可拉伸的链接。

  • 棱柱形关节:防止除沿特定轴滑动之外的所有运动。

  • 旋转关节:允许绕特定轴旋转(如铰链)。

  • 球形关节:解剖关节,允许两次摆动和一次扭转。

铰接中所有锁定的自由度在设计上都是牢不可破和不可拉伸的。为了实现这一点,物理引擎使用简化的坐标空间,其中形体只有关于解锁运动轴的坐标。

相反,对于常规迭代关节,物理引擎强制执行最大坐标空间,只有当求解器能够在一组迭代后收敛时,才能保证约束的满足。

物理发音演示

查看 Unity 的机器人演示项目,尝试使用带有铰接关节的串行链路机械臂。

表达
关节身体组件参考