Unity3D:2D 弹簧关节

Unity3D:2D 弹簧关节
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

2D 弹簧关节 (Spring Joint 2D)

__2D 弹簧关节__组件允许由刚体物理组件控制的两个游戏对象就像通过弹簧连接在一起一样。弹簧将在两个对象之间沿轴线施力,试图使这两个对象保持一定距离。

属性:功能:
Enable Collision连接的两个对象能否相互碰撞?选中此复选框表示“能”。
Connected Rigid Body在此处指定该关节连接到的另一个对象。如果将此属性保留为 None__,此关节的另一端将固定到空间中由 Connected Anchor__ 设置所定义的点。选择字段右侧的圆圈可查看要连接到的对象的列表。
Auto Configure Connected Anchor选中此框可为该关节连接到的另一个对象自动设置锚点位置。(选中此框将无需填写 Connected Anchor 字段。)
Anchor关节的端点连接到对象的位置(以 X、Y 在刚体上的坐标表示)。
Connected Anchor关节的端点连接到另一个对象的位置(以 X、Y 在刚体上的坐标表示)。
Auto Configure Distance选中此框可自动检测两个对象之间的距离,并将其设置为关节在两个对象之间保持的距离。
Distance弹簧应尝试在两个对象之间保持的距离。(可以手动设置。
Damping Ratio要抑制弹簧振荡的程度:在 0 到 1 范围内,值越高,运动越小。
Frequency当物体接近您想要的分离距离时弹簧振荡的频率(以每秒周期数为单位):在 0 到 1,000,000 的范围内 - 值越高,弹簧越硬。
Break Force指定断裂所需的力水平,从而删除关节。无限意味着它是牢不可破的。

详细信息

(另请参阅 2D 关节中的详情和提示以了解所有 2D 关节的有用背景信息。)

此关节的行为像弹簧。目的是保持两点之间的线性距离。通过 Distance 设置可设定此距离。这两个点可以是两个 2D 刚体__组件,或一个 2D 刚体__组件和世界中的一个固定位置。(将 Connected Rigidbody 设置为 None,即可连接到世界中的固定位置)。此关节对两个刚体施加线性力。不施加扭矩(角力)。

此关节使用模拟弹簧。可以设置弹簧的刚度和运动:

一个几乎不动的僵硬弹簧…

  • 高(1,000,000 为最高)__Frequency__ == 僵硬弹簧。
  • 高(1 为最高)__Damping Ratio__ == 几乎不动的弹簧。

一个移动的松弛弹簧…

  • Frequency == 松弛弹簧。
  • Damping Ratio == 移动的弹簧。

弹簧在对象之间施力时,往往会超过对象之间设定的距离,然后反复反弹,产生连续振荡。Damping Ratio 用于设置对象在多长时间内停止移动。Frequency 用于设置对象在目标距离的任何一侧振荡的速度。

此关节有一个约束:

  • 将两个刚体对象上的两个锚点之间的线性距离保持为零。

例如:

使用此关节构建的物理对象就好像是使用弹簧或允许旋转的连接方式连接在一起一样。例如:

  • 角色的身体由多个似乎半刚性的对象组成。使用弹簧关节可将角色的身体部位连接在一起,允许这些部位相互弯曲。还可以指定身体部位松散还是紧密结合在一起。

提示:

  • Frequency 为零是特殊情况:这种情况下会产生最大刚度的弹簧。
  • 2D 弹簧关节使用 2D 盒体弹簧关节。 2D 距离关节也使用相同的 2D 盒体弹簧关节,但会将频率设置为零!在技术上,频率为零且阻尼为 1 的 2D 弹簧关节与 2D 距离关节相同!


此文由3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:2D 滑动关节 (mvrlink.com)

下一篇:Unity3D:2D 目标关节 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号