Problem with jumping in fps game

I am making a fps game. Problem is that if the player jumps and and movement force is applied towards another game object then the player will remain in air till the force is removed from that direction. Also player falls slowly and is not giving realistic feeling of jump.
My code is

void Move(float horizontal, float vertical)
	{
		Vector3 movement = new Vector3 (vertical, 0.0f, -horizontal);
		rigidBody.AddRelativeForce (movement * speed * Time.fixedDeltaTime);

		rigidBody.velocity = Vector3.ClampMagnitude (rigidBody.velocity, maxSpeed);

	}

	void Jump()
	{
		if(Input.GetKeyDown("space"))
		{
			rigidBody.AddRelativeForce(Vector3.up * jumpSpeed * Time.fixedDeltaTime);
		}
	}

Looks like you need some kind of check that your player is grounded before you jump.

Also you set your rigidbody’s velocity to something that’s clamped to maxSpeed, but you do not want that when falling - I can fall much faster than I can run. Also keep in mind that when you are falling, you should be accelerating.