мне надо сделать так, чтобы в прыжке при нажатии определенной кнопки игрок сильно "ударялся" об землю(метод борьбы с противниками, как в Марио) у меня есть код, увеличивающий силу тяжести объекта(игрока), когда он находится в воздухе, вот часть кода, используемая для прыжка и атаки:
if (Input.GetKeyDown(KeyCode.Space) & GroundCheck.canJump == true)
{
rb.velocity = new Vector2(rb.velocity.x, 20);
}
else if(Input.GetKeyDown(KeyCode.Space) & GroundCheck.canJump == false)
{
while(GroundCheck.canJump == false)
{
rb.gravityScale = 20;
}
}
момент, где используется цикл while, Юнити зависает и закрывается только через диспетчер задач, если я заменю while на if, то все нормально, но мне нужно сделать так, чтобы пока игрок не коснулся земли, то сила тяжести была 20, а уже потом стала 5(стандартной)