Я предполагаю, что вы записываете свою текущую позицию, добавляете силу в Move();
и затем устанавливаете позицию в UpdateSegemnts(){}
обратно в сохраненную позицию. Это требует времени и может объяснить дрожание.
Честно говоря, довольно сложно дать вам четкий ответ с вещами, которые вы предоставили до сих пор.
Но для начала, пожалуйста, не вызывайте сопрограмму из сопрограммы. Используйте InvokeRepeating.
Я думаю, что вы используете 2 разных пути для создания такой игры одновременно. Путь физики и «поддельный путь». То есть вы можете использовать шарнирные соединения для go физическим способом и не сохранять какие-либо позиции и вращения вообще, или вы можете имитировать его и использовать анимацию для вращения и движения и записывать позиции.
Я ценю усилия по сжатию сценария для вашего вопроса, но это только усложняет ситуацию. Пожалуйста, используйте комментарии, особенно при доступе к другому сценарию, например <SegmentScript>
, объясните, почему вы делаете то, что делаете, и включите функцию Move.