初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

Unity 2D物理の設定 | Rigidbody2Dと当たり判定

Unity 基礎操作・設定

横スクロールゲームで、キャラが空中に浮いたまま動く。

床があるのにすり抜けて落ち続ける。

2D物理の設定が合っていないと、こうした違和感が出ます。

この記事では、Rigidbody2DとCollider2Dを使った2D物理の基本を、設定順に解説します。

  • キャラが重力で落ちない、または落ちすぎて操作できない…
  • Colliderを付けたのに、物体同士がすり抜けてしまう。
  • DynamicとKinematicの違いが分からず、どちらを選べばいいか迷う。

この記事でわかること

  • Rigidbody2DのBody Typeの選び方
  • BoxCollider2DとCircleCollider2Dの使い分け
  • Project Settingsで重力を調整する方法
  • FixedUpdateで力を加えるジャンプの基本
  • 床抜けを防ぐためのComposite Colliderの概要
  • 初心者でも理解できる解説

\プログラミング未経験でも大丈夫!まずは1本作り切ろう/

初心者が最初に選ぶならコレ

Unity ノンフィールドRPG
+スレスパ風JRPG講座

★★★★★ (Unity6対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で3Dゲームが完成!/

Physics2Dとは|2Dゲーム専用の物理エンジン

Unityの3D物理(Rigidbody)は、2Dゲームでは使いません。

2D専用のPhysics2Dシステムがあり、Rigidbody2DとCollider2Dが中心です。

重力・衝突・力の加え方は3Dと似ていますが、Z軸は基本的に無視されます。

コンポーネント 役割
Rigidbody2D 重力や力の影響を受け、物理的に動く対象に付ける
BoxCollider2D 矩形の当たり判定。
床・壁・箱に向く
CircleCollider2D 円形の当たり判定。
丸いオブジェクトや弾に向く
Composite Collider2D 複数のColliderを1つにまとめ、床抜けを防ぐ

Rigidbody2DのBody Typeを選ぶ

Rigidbody2Dには、Body Typeという動き方のモードがあります。

Dynamicは重力と力の影響を受ける通常の物体。
プレイヤーや落ちる箱に使います。

Kinematicは物理エンジンには動かされず、スクリプトで位置を制御。
動く床やエレベーター向けです。

Staticは動かない物体。
床や壁など、シーンに固定された地形に使います。

2D物理の基本セットアップ
  • STEP1
    床にStatic用Colliderを付ける

    床オブジェクトにBoxCollider2Dを追加。
    Rigidbody2Dは不要です。
  • STEP2
    プレイヤーにRigidbody2Dを付ける

    Body TypeをDynamicにし、Gravity Scaleを1に設定します。
  • STEP3
    プレイヤーにColliderを付ける

    BoxCollider2DまたはCapsuleCollider2Dで当たり形状を定義します。
  • STEP4
    Playで落下と着地を確認

    重力で落ち、床で止まれば基本設定は成功です。
管理人
管理人

床にRigidbody2Dを付けると、重力で床自体が落ちてしまいます。
動かない地形はColliderだけ、動くものだけRigidbody2D、と覚えましょう。

Collider2Dで当たり形状を決める

Colliderは「見えない当たり枠」です。
Spriteの形に合わせて調整します。

BoxCollider2Dは矩形、CircleCollider2Dは円形、CapsuleCollider2Dは人型キャラに向いています。

Is Triggerにチェックを入れると、物理的な衝突ではなく「接触イベント」だけを検知します。

コイン取得やゴール判定など、すり抜けて拾う処理に使います。

重力とGravity Scaleの調整

2Dの重力は、Edit → Project Settings → Physics 2DのGravityで全体設定できます。

デフォルトは(0, -9.81)です。
マリオ風に軽くしたいなら、Yの絶対値を小さくします。

個別のオブジェクトには、Rigidbody2DのGravity Scaleで倍率を変えられます。

  • Gravity Scale 1 → 標準の重力
  • Gravity Scale 0 → 重力の影響なし(宇宙ステージなど)
  • Gravity Scale 3 → 重く落下するジャンプアクション向け

FixedUpdateでジャンプを実装する

物理演算に関わる力の加え方は、UpdateではなくFixedUpdateで行うのが基本です。

物理エンジンは固定間隔で更新されるため、タイミングがずれると挙動が不安定になります。

using UnityEngine;

public class PlayerJump2D : MonoBehaviour
{
    public float jumpForce = 8f;
    private Rigidbody2D rb;
    private bool isGrounded;

    void Start
    {
        rb = GetComponent<Rigidbody2D>;
    }

    void Update
    {
        if (Input.GetButtonDown("Jump") && isGrounded)
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpForce);
            isGrounded = false;
        }
    }

    void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.CompareTag("Ground"))
            isGrounded = true;
    }
}

床のGameObjectに「Ground」タグを付けておくと、着地判定がシンプルになります。

床抜けを防ぐComposite Collider

高速移動や薄い床では、1フレームでColliderを通り抜ける「すり抜け」が起きることがあります。

タイルマップで作った地形は、Tilemap Collider2DとComposite Collider2Dを組み合わせると安定します。

Rigidbody2DのCollision DetectionをContinuousにすると、高速物体のすり抜けも減らせます。

管理人
管理人

すり抜けが起きたら、まずColliderの厚みを増やすのが手っ取り早いです。
それでもダメならContinuousとFixed Timestepの確認へ進みましょう。

よくあるトラブルと対処

2D物理でつまずきやすいポイントを整理します。

  • 物体がすり抜ける → Collision DetectionをContinuousに、Colliderを厚くする
  • キャラが傾いて転ぶ → Rigidbody2DのFreeze Rotation Zにチェック
  • 壁に張り付く → 摩擦の高いPhysics Material 2Dを別途設定する
  • 当たり判定がSpriteとズレる → ColliderのEdit Colliderで形状を調整

3D物理の037コライダー記事と概念は似ていますが、コンポーネント名に「2D」が付く点だけ注意してください。

最初のうちは、BoxCollider2DとDynamicのRigidbody2Dだけで横スクロールの原型が作れます。

挙動が安定してから、Composite ColliderやPhysics Material 2Dを足していく進め方が挫折しにくいですよ。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座

  • Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
  • Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
  • 初心者でも迷わず進められる丁寧な解説構成
  • ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。

Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。

「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。

Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!

Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風3Dアクションゲームの作り方講座

  • ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
  • 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
  • スマホ化対応で実機で動かせるゲームが完成
  • アセットを使った実践的なゲーム開発手法が身につく
  • 画像・動画・全ソースコード公開の充実したサポート

ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。

全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。

「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。

初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!

まとめ

2D物理は、床にCollider2D、動くキャラにRigidbody2D+Collider2Dを付けるのが基本です。

Body TypeでDynamic・Kinematic・Staticを使い分け、Gravity ScaleとFixedUpdateでジャンプを調整しましょう。

プラットフォーマーを一通り作りたい方は、Unity入門の森で、移動・ジャンプ・当たり判定までの実践を追いながら学べます。

コメント

タイトルとURLをコピーしました