Фиксированные соединения позволяют соединенным объектам действовать как единое тело (с дополнительными ограничениями). Однако, если вы примените силу только к одному из этих объектов, И центр масс этого объекта не находится в том же положении, что и центр масс полной сборки, вращательное движение будет (и СЛЕДУЕТ) вводиться.
Два способа, которыми я могу обдумать это:
Один из них - разделить силу на несколько частей, каждая с одинаковым направлением, но величина пропорциональна массе объекта, к которому он будет применен (Сумма F = Всего F). Затем примените каждую из этих сил к каждому из ваших объектов в сборке.
Другой способ - вычислить центр масс вашей сборки объектов и использовать функцию ApplyForceAtPosition
. , а не функция basi c ApplyForce
.
Я должен отметить, что мне не повезло, используя ОБА иерархию, И соединения для соединения объектов вместе. Поэтому я бы посоветовал не делать их детьми друг друга, если можете.