Я выполнил точно такую же задачу, когда изучал Unity. Итак, вам нужно добавить компонент Rigitbody2D к игровому объекту
private Rigidbody2D body;
private float jumpForce = 12.0f;
void Start()
{
body = GetComponent<Rigidbody2D>();
}
void Update()
{
bool grounded = false;
// set to true when your gameObject is on the ground
// Assume Space button is for jump
if(grounded && Input.GetKeyDown(KeyCode.Space))
{
body.AddForce(Vector2.up*jumpForce, ForceMode2D.Impulse);
}
}
Итак, идея в том, что вы прыгаете, когда находитесь на земле (вы можете использовать Physics2D.OverlapArea для обнаружения столкновения с землей), вы можете контролировать, насколько высоко вы хотите прыгнуть, и вы делаете это с помощью AddForce.