>>217
ちなみに、自分の場合は、2Dでジャンプ機能を実装する際は、

Startでint t = 100,float v = 1.0fをセット

Updateでボタン入力と接地を監視
@入力あり
 t >= 0なら、Jump()へ飛んで、その後にt = t -1
A入力なし
 接地ありなら、t = 100へ
 接地なしなら、t = 0へ

Jump()
 t = 100なら、AddForce(mass * v * Vector2.up, ForceMode2D.Impulse)
 そうでない場合は、AddForce (mass * (t/100) * (- Physics2D.gravity))

最初のフレームで上向き初速v = 1.0をつけておき、
次のフレームからは重力加速度の相殺を線形的に減じていき、
t = 100フレームで重力加速度の相殺が消える仕組み

ボタン入力がない場合は、接地時はt = 100に戻して、
非接地時はt = 0をセットして連続での再ジャンプを防止