关节组件负责将某个刚体连接到另一个刚体或空间中的固定点。关节可以施加使刚体移动的力,而关节的限制功能可以限制该移动。关节赋予了刚体以下自由度:
如需详细了解 PhysX 系统中的关节,包括扭转轴和摆动轴的工作原理,请参阅 NVidia PhysX 文档:关节。
Unity 提供的以下关节可以对刚体组件施加不同的力和限制,同时赋予这些刚体不同的运动:
| 属性: | 功能: |
|---|---|
| 角色关节 | 模拟球窝关节,例如髋部或肩膀。沿所有线性自由度约束刚体的移动,并实现所有角度方面的自由度。连接到角色关节的刚体可绕各轴进行定向,并从共享原点开始转动。 |
| 可配置关节 | 模拟骨骼关节,例如布娃娃中的关节。您可以配置此关节并以任意自由度驱动和限制刚体的移动。 |
| 固定关节 | 限制刚体的移动以跟随所附刚体的移动。这种关节适合可以轻松相互分离的刚体,或者连接两个刚体的运动(且无需在变换层级中进行父级处理)。 |
| 铰链关节 | 将一个刚体附着到另一个刚体或空间中共享原点的点,并允许刚体围绕该原点的特定轴旋转。适合用于模拟门和手指关节。 |
| 弹簧关节 | 让刚体保持彼此分离,但允许刚体之间的距离略微拉伸。弹簧就像一块弹性物,试图将两个锚点一起拉到完全相同的位置。 |
2D 关节在名称末尾有 2D 字样(例如铰链关节 2D (Hinge Joint 2D))。如需了解 2D 关节的摘要,请参阅 2D 关节文档。
关节还有其他选项,分别可实现不同的效果。例如,可以设置关节,使其在刚体施加的力超过阈值时发生断裂。部分关节能够在连接的刚体之间产生__驱动力__以使它们自行运动。
注意:如果要在工业应用的上下文中构建运动链,例如模拟具有逼真物理行为的机械臂,则应使用物理接合,而非使用本文所述的常规关节。