Изменение a Spring Общая длина покоя в Unity3d

Согласно Spring совместной документации, длина отдыха Spring (длина, на которой Spring не будет пытаться тянуть или толкать два тела, которые она соединяет), - это расстояние, которое было рассчитано между двумя тела, поскольку соединение было создано.

Однако я хотел бы иметь возможность изменить это расстояние для отдыха во время выполнения, и в документации ничего не говорится о том, как можно изменить длину.

Есть ли способ сделать это с помощью Spring Joint? Если нет, то как создать Spring с установленной длиной отдыха (которую можно изменить в script) с помощью Конфигурируемого соединения?

Ответы

Ответ 1

Длина покоя a spring зависит от ее скорости spring и от того, какая сила применяется к ней. Больше силы и/или меньшей скорости уменьшает длину покоя. Вы можете рассчитать глубину сжатия как:

сжатие = сила/скорость

Таким образом, задавая длину отдыха, вы должны знать силу, которую поддерживает spring в состоянии покоя. Используя приведенное выше уравнение, вы можете рассчитать скорость spring, необходимую для spring, чтобы отдохнуть на этой длине.

Надеюсь, это поможет.