Rigidbody2Dの使い方が分からない。AddForceとVelocity、どちらを使えばいいか迷う。
多くの学生が最初に悩むのが、この部分です。
実は、Rigidbody2Dの基本を理解すれば、意外とシンプルに扱えます。
この記事では、Rigidbody2D完全入門として、AddForce・GravityScale・衝突処理を基礎から解説します。
✨ この記事でわかること
- Rigidbody2Dの基本
- AddForceとVelocityの違い
- GravityScaleの調整方法
- 衝突処理の実装

Rigidbody2Dは、2D物理演算の基本です。まずは、AddForceとVelocityの違いを理解しましょう。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
Rigidbody2Dの基本

Rigidbody2Dは、2D物理演算を扱うコンポーネントです。
主な機能は次の通りです。
- 重力の適用
- 物理的な衝突
- 力を加える(AddForce)
- 速度の制御(Velocity)
これらを組み合わせることで、物理的な挙動を再現できます。
重要なのは、AddForceとVelocityの違いを理解することです。
AddForceとVelocityの違い

AddForceとVelocityは、それぞれ特徴が異なります。
AddForceを使った実装
AddForceは、力を加える方法です。
|
1 2 3 4 5 6 7 8 |
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse); } } |
この方法は、物理演算に従った自然な動きになります。
ただし、操作感が少し重く感じる場合があります。
Velocityを使った実装
Velocityは、速度を直接設定する方法です。
|
1 2 3 4 5 6 7 8 |
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { rb.velocity = new Vector2(rb.velocity.x, jumpForce); } } |
この方法は、操作感が軽く感じます。
アクションゲームには、こちらの方が適している場合が多いです。

AddForceとVelocityは、用途に応じて使い分けます。アクションゲームでは、Velocityの方が操作感が良くなることが多いです。
GravityScaleの調整方法

GravityScaleは、重力の強さを調整するパラメータです。
値が大きいほど、落下速度が速くなります。
アクションゲームでは、1.0〜2.0の範囲で調整することが多いです。
以下のコードで、GravityScaleを調整できます。
|
1 2 3 4 5 6 |
void Start() { rb = GetComponent<Rigidbody2D>(); rb.gravityScale = 1.5f; // 重力を1.5倍に } |
このコードで、重力の強さが調整できます。
実際に動かしながら、感覚的に「気持ちいい」と感じる値を見つけましょう。
衝突処理の実装

衝突処理は、OnCollisionEnter2DやOnTriggerEnter2Dを使います。
以下のコードで、基本的な衝突処理ができます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.CompareTag("Enemy")) { // 敵との衝突処理 Debug.Log("敵と衝突しました"); } } void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Item")) { // アイテムの取得処理 Debug.Log("アイテムを取得しました"); } } |
OnCollisionEnter2Dは、物理的な衝突で発生します。
OnTriggerEnter2Dは、Is Triggerが有効なCollider2Dで発生します。
用途に応じて使い分けます。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
実践的なRigidbody2Dを学ぶには

ここまで、Rigidbody2D完全入門として、AddForce・GravityScale・衝突処理を基礎から解説してきました。
ただし、実際のゲーム制作では、さらに多くの要素が必要になります。
アニメーション、エフェクト、UI、サウンドなど、全体を体系的に学ぶには、専門の講座が効率的です。
Unity入門の森では、2Dアクションゲームの作り方を、基礎から完成まで丁寧に解説しています。
コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。
2Dアクション制作に特化した講座なら、効率的にスキルアップできます。
ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
まとめ

Rigidbody2D完全入門として、AddForce・GravityScale・衝突処理を基礎から解説しました。
要点のまとめ
- AddForceは、力を加える方法で、物理演算に従った自然な動きになる
- Velocityは、速度を直接設定する方法で、操作感が軽く感じる
- GravityScaleで、重力の強さを調整できる
- 衝突処理は、OnCollisionEnter2DやOnTriggerEnter2Dを使う
基本を押さえれば、あとは応用していくだけです。
まずは、ここで紹介したコードを実際に動かしてみてください。
動かしながら理解を深めていくのが、上達への近道です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント