Rigidbody jump not working

I have a first person character who i am trying to make jump. I am useing a rigidbody which is set to enable gravity and is kinematic. This is my code.

[RequireComponent(typeof(CharacterController))]
[RequireComponent(typeof(Rigidbody))]
public class playerMove : MonoBehaviour {
	public float speed = 60.0F;
	public float sideSpeed = 40.0F;
	public float jumpForce = 80.0F;
	public float sensitivity = 30.0F;
	public float gravity = 20.0F;

	void Update() {
		Rigidbody rb = GetComponent<Rigidbody> ();
		CharacterController controller = GetComponent<CharacterController> ();

		Vector3 forward = transform.TransformDirection (Vector3.forward);
		Vector3 sideways = transform.TransformDirection (Vector3.right);
		Vector3 up = transform.TransformDirection (Vector3.up);

		float curSpeed = speed * Input.GetAxis ("Vertical") * Time.deltaTime;
		float curSideSpeed = sideSpeed * Input.GetAxis ("Horizontal") * Time.deltaTime;
		float rotation = Input.GetAxis ("Mouse X") * sensitivity * Time.deltaTime;

		controller.SimpleMove = (forward * curSpeed);
		controller.SimpleMove = (sideways * curSideSpeed);
		transform.Rotate (0, rotation, 0);

		if (Input.GetKeyDown(KeyCode.Space) && controller.isGrounded) {
			rb.AddForce(up * jumpForce);
			Debug.Log ("Adding Force");
		}
	}
}

any idea why this might be?

3 Answers

3

It should not be kinematic as it is using gravity and physics !!

public class ExampleClass : MonoBehaviour {

private Vector3 moveDirection = Vector3.zero;
void Update() {
        if (Input.GetButton("Jump"))
            moveDirection.y = jumpSpeed;            
    }
    moveDirection.y -= gravity * Time.deltaTime;
}so?

}

Jumpspeed not jumpspeed