@ne_Sci_fi

Как ограничить вращение объекта в Unity?

У меня есть 2d персонаж, на котором весит объект gun, gun направлен в сторону мыши. Мне нужно ограничить вращение gun.
Код к gun:
void Update ()
{
var mousePosition = Input.mousePosition;
mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);
var angle = Vector2.Angle(Vector2.right, mousePosition - transform.position);
transform.eulerAngles = new Vector3(0f, 0f, transform.position.y < mousePosition.y ? angle : -angle);
}
  • Вопрос задан
  • 2358 просмотров
Пригласить эксперта
Ответы на вопрос 2
@keksmr
Unity разработчик
mousePosition.y = Mathf.Clamp(mousePosition.y, min, max);
Ответ написан
@ne_Sci_fi Автор вопроса
я решил проблемку.
Код:
void Update ()
{
var mousePosition = Input.mousePosition;
mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);
mousePosition.y = Mathf.Clamp(mousePosition.y, zMiN, zMAX);
var angle = Vector2.Angle(Vector2.right, mousePosition - transform.position);
transform.eulerAngles = new Vector3(0f, 0f, Mathf.Clamp(transform.position.y < mousePosition.y angle : -angle, zMiN, zMAX));

}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы