Я делаю 2D-платформерную игру в Unity, и у меня есть проблема: если мой игрок перешагивает край, игрок падает вдоль траектории дуги. Я хочу заставить игрока упасть на край, как камень? Невозможно изменить значение силы тяжести. Unity2D (C#) - падение над краем, как камень
-2
A
ответ
1
Предполагая, что вы используете 2D-физику с Rigidbody2D и Collider2D, вы можете в своем скрипте игрока установить горизонтальную скорость в 0, если игрок не заземлен. Чтобы проверить, заземлен ли он, взгляните на Physics2D.CircleCast()
.
Таким образом, вы могли бы добавить что-то вроде этого в сценарий:
Rigidbody2D rb2d = GetComponent<Rigidbody2D>();
if (isGrounded == false)
rb2d.velocity = new Vector2(0, rb2d.velocity.x);
Это будет лучше, если и объяснить, что такое падение, как камень средства? – utkdub
Неужели ты хочешь сказать, что не вращался, просто будучи еще во время падения? – utkdub
Когда игрок идет по краю, я хочу: игрок падает как камень (абсолютный по вертикали) – Adam