14

根据 Spring Joint 的文档,弹簧的静止长度(弹簧不会尝试将其连接的两个主体拉或推在一起的长度)是在创建关节时计算的两个主体之间的距离。

但是,我希望能够在运行时更改此静止距离,并且文档没有提及有关如何更改长度的任何内容。

无论如何用Spring Joint来完成这个?如果没有,如何使用Configurable Joint创建具有固定长度(可以在脚本中更改)的弹簧?

4

2 回答 2

1

弹簧的静止长度取决于其弹簧刚度以及施加在其上的力的大小。更大的力量和/或更少的速率会减少静止长度。您可以将压缩深度计算为:

压缩=力/速率

因此,指定静止长度需要您知道弹簧在静止时将支撑的力。使用上面的等式,您可以计算弹簧静止在该长度所需的弹簧刚度。

我希望这有帮助。

于 2017-02-16T12:11:34.170 回答
0

在我看来,您正在寻找Connected anchor参数,它可以帮助您指定“连接对象的局部空间中连接关节的点”。(https://docs.unity3d.com/Manual/class-SpringJoint.html)。

“静止距离”是连接锚连接体之间的距离。

要将其设置为特定长度,您必须:

  • 自动配置连接设置为 false
  • 根据您想要的长度手动设置连接的锚点位置
  • *可选:激活自动配置连接(如果您希望连接的主体移动时自动更新连接的锚点)

希望它能解决你的问题:)

于 2021-02-21T16:48:37.107 回答