У меня есть ConfigurableJoint для маятника, поэтому он просто вращается вокруг одной оси.
Простое изменение положения маятника не сработает, потому что я не могу угадать точное положение, так как все действительные положения находятся на воображаемой окружности. Мне было бы намного проще выбрать угол для маятника.
Как я могу изменить угол соединения с помощью скрипта?
Итак, короткий ответ заключается в том, что вы просто не должны. Если он управляется физикой, то как только физический движок заработает (например, первый кадр), вы должны попытаться управлять им с помощью как можно меньшего количества кода.
Длинный ответ заключается в том, что вам нужно приложить усилия, чтобы переместить его в нужное положение, как в реальной жизни. Если вы хотите, чтобы маятник оставался неподвижным и указывал куда-то еще, а не прямо вниз, то в реальной жизни вам придется поддерживать его рукой. Расчет всех задействованных сил был бы слишком сложным для ответа здесь, но если вы не беспокоитесь о том, что это произойдет мгновенно, то уже есть проверенное решение, называемое ПИД-регулятор. Основная концепция ПИД-регулятора заключается в том, что вы смотрите на текущую позицию (предоставленную преобразованием объекта) и вы смотрите на текущую угловую скорость (предоставленную твердым телом объекта) и оттуда вы определяете инкрементную силу, которую нужно применить, чтобы получить ее. туда, куда вам нужно. Должно быть довольно легко настроиться и работать на одной оси, но потребуется некоторая настройка, чтобы получить правильные силы.