Не работает прыжок в юнити
Я делаю скрипт по туториалу и у меня получился такой скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public Rigidbody rigb;
public float leftright=500f;
public float speed=100f;
public float highjump=15f;
protected bool left=false;
protected bool right=false;
protected bool jump=false;
// Update is called once per frame
void Update()
{
left=Input.GetKey("a");
right=Input.GetKey("d");
jump=Input.GetKeyDown("space");
if (transform.position.y<-5f)
{
Debug.Log("Конец игры");
}
}
void FixedUpdate(){
rigb.AddForce(0,0,speed*Time.deltaTime);
if (left){
rigb.AddForce(-leftright*Time.deltaTime,0,0,ForceMode.VelocityChange);
}
if (right){
rigb.AddForce(leftright*Time.deltaTime,0,0,ForceMode.VelocityChange);
}
if (jump){
rigb.AddForce(Vector3.up*highjump,ForceMode.Impulse);
jump=false;
}
}
}
}
Я все подключил в блоку но когда я нажимаю на пробел он не прыгает! Только может иногда! Помогите пожалуйста.
Источник: Stack Overflow на русском