ジャンプを実装してみると、自然な動きにならない。
重力と初速度の関係がよく分からない。
実は、放物線ジャンプは、重力と初速度の物理計算で実現できるものです。
これらを理解すれば、自然な放物線を描くジャンプを実装できます。
この記事では、放物線ジャンプの計算として、重力と初速度の物理計算を見ていきましょう。
- 放物線ジャンプの計算方法が分からない…
- 重力と初速度の関係が理解できていない。
- 物理的な放物線運動を実装したい。
✨ この記事でわかること
- 放物線ジャンプの基本となる物理計算
- 重力と初速度の関係
- 放物線運動の実装方法
- Unityでの放物線ジャンプの実装手順
- 初心者でも理解できる物理計算の基礎
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます
放物線ジャンプとは何か(ゲーム制作目線)

放物線ジャンプは、重力と初速度の組み合わせで、物理的な放物線を描くジャンプです。
ジャンプの瞬間に初速度を与えて上方向に移動させ、その後重力が下方向に働くことで、放物線を描いて落下します。
放物線ジャンプの基本要素は、以下の2つです。
- 初速度:ジャンプの瞬間に与える上方向の速度
- 重力加速度:下方向に働く一定の加速度
これらを組み合わせれば、物理法則に基づいた自然なジャンプを実現できます。
ゲームでの具体的な使い道

放物線ジャンプが、ゲームでどう使われているか確認してみましょう。
プラットフォームゲームのジャンプ
横スクロールのプラットフォームゲームでは、物理的な放物線ジャンプが使われます。
初速度と重力の関係で、ジャンプの高さと距離が決まります。
3Dアクションゲームのジャンプ
3Dアクションゲームでも、放物線ジャンプが使われます。
物理的な動きにより、プレイヤーが予測しやすい動きになりますね。
スポーツゲーム
バスケットボールやバレーボールなどのスポーツゲームでは、放物線の計算が重要です。
物理的な放物線を再現すれば、リアルな動きを実現します。
放物線ジャンプが使われる場面
- プラットフォームゲームのジャンプ
- 3Dアクションゲームのジャンプ
- スポーツゲームの物理的な動き
- パズルゲームの物理パズル
作り方は分かった。
でも完成まで行けない人へ
当たり判定・移動・カメラ・AIまで、
実装しながら学べる「永久会員チケット」です。
※ まずは内容を見るだけでOK
放物線を描く物理の仕組み|速度と重力加速度の計算ロジック

ジャンプの動きをプログラムで制御するためには、物体が空中でどのような影響を受けているかを正しく理解する必要があります。
放物線ジャンプの正体は、「上向きの勢い(初速度)」と、それを常に打ち消そうとする「下向きの力(重力加速度)」のせめぎ合いです。
ここでは、ジャンプの開始から着地まで、内部でどのような計算が行われているのかをステップごとに分解して解説します。
1. ジャンプの始動:初速度の付与
キャラクターが地面を蹴った瞬間、プログラムはキャラクターに対して上方向(Y軸方向)の大きな速度を与えます。
これが「初速度」です。物理学では一般的に $v_0$ という記号で表されます。
この瞬間の速度が最大であり、この値が大きければ大きいほど、より高い場所まで到達できる高いジャンプになります。
ゲーム的な手触りを決める最も重要な数値といえるでしょう。
2. 上昇フェーズ:重力による一定の減速
空中へ飛び出した後は、常に「重力加速度」の影響を受け続けます。
重力は常に下向きに働いているため、上向きの速度は毎フレーム一定量ずつ削られていきます。
計算式で表すと $v = v_0 + at$ (速度 = 初速度 + 加速度 × 時間)となりますが、ゲームの実装では「現在の速度に重力(マイナスの値)を足し続ける」という非常にシンプルな加算処理でこの物理現象を再現します。
3. 最高到達点:速度が「0」になる瞬間
上昇を続けていくと、重力によって削られ続けた上向きの速度がついに「0」になります。
この瞬間がジャンプの頂点(最高到達点)です。
物理計算上、上昇から下降へと切り替わるこの一瞬だけ、キャラクターの垂直方向の動きは完全に停止します。
この頂点に達するまでの時間は、初速度と重力のバランスによって数学的に導き出すことが可能です。
4. 下降フェーズ:重力による加速落下
頂点を過ぎると、重力はさらに速度をマイナス方向へと押し下げます。
今度は下向きの速度がどんどん増していく「加速落下」が始まります。
興味深いのは、空気抵抗などを無視した場合、上昇時と下降時の速度の変化は完全に対称になるという点です。
これにより、私たちが現実世界で見慣れている、あの美しく自然な「放物線」の軌跡が描かれることになります。
⚠️ 物理計算の重要なポイント
自然なジャンプを実装するために、以下の4つの概念をセットで覚えておきましょう。
- 初速度と重力: 放物線はこの2つのパラメータの組み合わせだけで決まります。
- 高さの制御: 初速度を大きくすれば高く、重力を大きくすれば鋭いジャンプになります。
- 対称性の美: 重力が一定であれば、頂点を中心に左右対称の放物線が描かれます。
- 速度への加算: 毎フレーム、速度に重力を足し合わせるだけで物理法則を再現できます。
Unityで実装する際の注意点(代表例)

Unityで放物線ジャンプを実装する場合の注意点を見ていきましょう。
基本的な放物線ジャンプ
速度ベクトルを使って、放物線ジャンプを実装します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
public class ParabolicJump : MonoBehaviour { public float jumpPower = 10f; // ジャンプ力(初速度) public float gravity = -9.81f; // 重力加速度 private Vector3 velocity = Vector3.zero; private bool isGrounded = true; void Update() { // ジャンプ入力 if (Input.GetKeyDown(KeyCode.Space) && isGrounded) { velocity.y = jumpPower; // 初速度を設定 isGrounded = false; } // 重力を加算 velocity.y += gravity * Time.deltaTime; // 位置を更新 transform.position += velocity * Time.deltaTime; // 着地判定(簡易版) if (transform.position.y <= 0) { transform.position = new Vector3(transform.position.x, 0, transform.position.z); velocity.y = 0; isGrounded = true; } } } |
Rigidbodyを使った実装
Unityの物理エンジンを使った実装です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public class ParabolicJump : MonoBehaviour { public float jumpPower = 10f; private Rigidbody rb; private bool isGrounded = true; void Start() { rb = GetComponent<Rigidbody>(); } void Update() { if (Input.GetKeyDown(KeyCode.Space) && isGrounded) { rb.velocity = new Vector3(rb.velocity.x, jumpPower, rb.velocity.z); isGrounded = false; } } void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Ground")) { isGrounded = true; } } } |
ジャンプ力の調整
ジャンプ力を調整すれば、ジャンプの高さを制御できます。
値が大きいほど、高いジャンプになりますね。
インスペクターで値を調整しながら、最適なジャンプ力を探しましょう。
重力の調整
重力の値を調整すれば、落下速度を制御できます。
値が大きいほど、速く落下します。
ゲームの雰囲気に合わせて、適切な重力値を設定しましょう。

まとめ

この記事では、放物線ジャンプの計算について見てきました。
重要なポイントをおさらいします。
重要なポイント:
- 放物線ジャンプは、初速度と重力の組み合わせで実現される
- 初速度を調整すれば、ジャンプの高さを制御できる
- 重力が一定であるため、対称的な放物線が描かれる
- 速度に重力を加算すれば、自然な放物線運動を実現する
- Unityの物理エンジンを使うことで、より簡単に実装できる
放物線ジャンプは、ゲーム開発で頻繁に使われる重要な技術です。
物理法則に基づいた計算を行えば、自然な動きを実現できます。
初速度と重力の関係を理解すれば、様々なジャンプパターンを実装できます。
実際のゲーム実装とセットで学ぶことで、理解が深まるはずです。
Unity入門の森では、放物線ジャンプを含む物理演算を、実際のゲーム実装とともに体系的に学べます。
ぜひチェックしてみてください。
Unity入門の森をチェック Unity初心者でも安心。動画解説+完成サンプル付きで実装まで進められます





コメント