@artem_music

Зафиксировать элементы подвески по оси Z в Unity3D?

Добрый вечер, уважаемое сообщество.
Делаю простенькую игру в юнити, решил прикрутить к космическому модулю подвеску на основании wheeljoint2d.
f6a56f4302134881a8e2e0d36e4a55d9.png
Она отлично работает, но есть один нюанс.
Если у элементов подвески зафиксировать ось Z, то все выглядит вот так:
bb9fb6e9cb8f43928457f51b0f240de0.png
И при повороте корабля соответственно подвеска всегда направлена вниз.

Если отключить фиксацию оси Z, то все вроде бы так, как нужно:
d827e70d2c4e485e93220826817b9a68.png

Но есть проблема - в этом случае может случиться следующая ситуация (синими стрелками выделил направление элементов подвески):
8da688d294714df6ae5cc859548d5df9.png

Как можно зафиксировать положение относительно родительского элемента в промежутке? Например, чтобы элементы подвески могли поворачиваться только в пределах определенного угла:
80b929b584fe46a990a110c6202a6500.png

Заранее спасибо за ответ.
  • Вопрос задан
  • 698 просмотров
Решения вопроса 1
Dimusikus
@Dimusikus
Любитель
Я не знаю как именно у Вас реализована скриптовая часть подвески, но фиксировать элементы в определённых углах можно функцией:
RotateX =  Mathf.Clamp(flaot RotateX, float min, float max)

она жёстко держит значения в диапазоне min........max. Можете контролировать углы этой функцией.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы