You assign a new vector to movedirection, overwrite jump decision
moveDirection = Vector3(0, 0,Input.GetAxis("Vertical"));
it should be
moveDirection += Vector3(0, 0,Input.GetAxis("Vertical"));
Edit: You should check is your character is grounded. http://docs.unity3d.com/Documentation/ScriptReference/CharacterController-isGrounded.html
if(CharacterController.IsGrounded)
{
moveDirection += Vector3(0, 0,Input.GetAxis("Vertical"));
}
Trending Articles
More Pages to Explore .....