Перемещение кнопки физики с фиксированной осью после вращения в Unity - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь сделать кнопку на основе физики, как показано ниже.

Button rigidbody

Красный куб должен двигаться вниз по оси Y при приложении силы и нажимать на курок (светло-серый прямоугольник).

Я достиг этого, сделав красный куб жестким телом и замораживая вращение и положение (кроме оси Y). Красный куб прикреплен к триггеру с помощью спринтерского соединения.

Это работает довольно хорошо, пока я не попытаюсь повернуть весь контейнер для кнопки, а затем кнопка нажимает на мировую ось Y (красная стрелка внизу). ) вместо локальной оси Y (зеленая стрелка внизу).

movement after rotation

Как это исправить? Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

Разобрался, этот код ограничит перемещение только локальной осью y и уберет флаги положения замораживания на компоненте твердого тела

void Update()
{
    transform.localPosition = new Vector3(0, transform.localPosition.y, 0);
}
...