rigid.AddForce(-lastForce)..rigid.velocity = Vector3.zero.
if(Input.GetButton("Jump")){
Time.deltaTime имеет разное значение каждый раз.var jumpVel = new Vector2(0, jumpForce * Time.deltaTime); - вы пытаетесь вместо силы добавить скорость.rb.velocity += jumpVel; - вы добавляете скорость, поэтому сумма может равняться хоть нуля. Рекомендую задать скорость жёстко: rb.velocity = jumpVel;
transform.position = Vector2.Lerp(startPos, endPos, 0.5f+0.5f*Mathf.Sin(progress));