Я пытаюсь добавить функцию прыжка в мою игру, и третья часть моего оператора if влияет на то, насколько высок прыжок, вместо этого, гарантируя, что вы подпрыгнете.Например, если я поставлю 2 вместо 1.001f, он будет высоко прыгать, но если он равен 1.1, он едва прыгнет.Кроме того, 1.001 не работает вообще.
public float jumpForce = 300f;
Этот код не имеет перехода
if (Input.GetKey("space") && rb.position.y < 1.001f)
{
rb.AddForce(0, jumpForce * Time.deltaTime, 0, ForceMode.VelocityChange);
}
Этот код выполняет небольшой переход
if (Input.GetKey("space") && rb.position.y < 1.1f)
{
rb.AddForce(0, jumpForce * Time.deltaTime, 0, ForceMode.VelocityChange);
}
И этот код выполняет высокий прыжок
if (Input.GetKey("space") && rb.position.y < 2f)
{
rb.AddForce(0, jumpForce * Time.deltaTime, 0, ForceMode.VelocityChange);
}