包含此页的版本:
不含此页的版本:
约束是一条规则,其中关节允许刚体组件之间进行动态连接的物理组件,通常允许一定程度的移动,例如铰链。更多信息
请参阅术语表将尝试确保不会永久损坏。有不同类型的约束,所有关节都提供至少一个约束,这些约束适用于并控制刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表2D 行为。某些约束会限制行为,例如确保刚体保持在线上或特定位置。有些是主动强制刚体的“驱动”约束游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表以某种方式行事,例如尝试使游戏对象保持一定的速度。
Unity 的物理系统期望约束可以暂时被打破,例如当对象移动距离超过其设定的距离约束或移动速度快于其设定的速度约束时。当约束未被破坏时,关节不会施加任何力。当约束被破坏时,关节会施加力来固定约束。
例如,对于“驱动”约束,关节施加力以保持距离或确保约束设置的速度。虽然这种力的应用通常可以快速执行,但它并不总是立即修复约束,而是随着时间的推移逐渐修复约束。这可能导致关节看起来拉伸或看起来不那么僵硬。出现滞后的原因是物理系统试图应用联合力来固定约束,而其他物理力同时仍在破坏这些相同的约束。除了作用在游戏对象上的冲突力外,一些关节比其他关节更稳定,反应更快。
无论关节提供什么约束,关节都仅使用力来固定约束。这些力要么是线性(直线)力,要么是角力(扭矩)。
注意:建议在对附加了关节的刚体对象(尤其是质量较大的刚体对象)施加较大的力时要小心,因为作用在关节上的力会发生冲突。
所有关节都能够监控它们所施加的力或扭矩,以保持在自己的约束范围内。一些关节同时监测力和扭矩,而另一些关节则仅监测力。这会通知您关节在尝试保持其约束时何时超过特定力或扭矩,您可以将这些阈值指定为Joint2D.breakForce和Joint2D.breakTorque.当关节超过这些阈值时,称为关节断裂。
您可以指定当关节断裂时要执行的作Joint2D.breakAction.默认的中断动作是销毁 Joint2D 组件,可以参考JointBreakAction2D用于其他可用的固定作。