2D Character defies gravity when moving horizontally

If my 2D character is running down a ramp he takes to the air like a plane while I have the left or right axis engaged. When I release the key he drops to the ground. I tried animate physics checked and unchecked. Here is the control script I am using.

// move player
function FixedUpdate()
{
	animator.SetFloat("H_input",h);	// send float to animator
	animator.SetFloat("V_input",v);	// send float to animator
	var other = touch.gameObject.GetComponent(touch_ground); //track ground contact
	
	if(h >= 0.1)
		{
		rigidbody2D.velocity = new Vector2(h * speed, 0); // move on x
		tran = rigidbody2D.transform.position; // read to parallax script
		vel = rigidbody2D.velocity.x; // read to duster script
		}
	else if(h <= -0.1)
		{
		rigidbody2D.velocity = new Vector2(h * speed, 0); // move on x
		tran = rigidbody2D.transform.position; // read to parallax script
		vel = rigidbody2D.velocity.x; // read to duster script
		}
}

rigidbody2D.velocity = new Vector2 ( h * speed, 0 );

The y velocity is zero because you are setting it to zero every FixedUpdate.

If you want the y velocity to be nonzero, try not setting it to zero.

You can set .x and .y components of a Vector2 separately, like this:

rigidbody2D.velocity.x = h * speed;
rigidbody2D.velocity.y = ... // you'll still have to figure out what to do here