【Unityで2Dゲーム制作】rigidbodyを使ってキャラクターを地面に乗せよう!

ゲーム制作

環境

この記事は以下の環境で実施しています。

  • OS:Windows
  • Unityのバージョン:6000.0.31f1

Rigidbodyとは?

Rigidbodyをオブジェクトに付けると物理エンジンで制御することが出来ます。

物理エンジンで制御できるようになると例えば以下の様な事が可能になります。

  • 重力を与えられる
  • 当たり判定を与えられる(Colliderという部品と組み合わせると可能になります)

当記事ではキャラクターにRigidbodyを付けて

地面に着地させるところまで書いていきます。

Rigidbodyを付けて重力を付けよう!

では、さっそくRigidbodyをキャラクターに追加しましょう。

追加対象のキャラクターの配置の仕方が分からない場合は、下記の記事を読んでいただければと思います。

Rigidbodyの追加の方法は以下の手順で行います。

  • インスペクタービューで「コンポーネントの追加>Physics 2D>Rigidbody2D」を選択する

Regidbodyの追加はたった、これだけの手順で完了です。

ただし、今のままだと地面が無いのでキャラクターが下に消えてしまいます。

地面が無いと下に落ちてしまう

なので地面を追加していきます。

地面を追加しよう!

まず地面はキャラクターの時と同じで画像か図形を画面下部に配置します。

ここではオレンジ色の正方形を画面下部に配置しました。

この時点では正方形を追加しただけなので、キャラクターが地面をすり抜けてしまいます。

地面をすり抜けてしまう

キャラクターと地面に当たり判定を付ける

キャラクターが地面をすり抜けてしまうのは、当たり判定が無いためです。

なので当たり判定を付けていきます。

  1. キャラクターを選択し、インスペクタービューで「コンポーネントの追加>Physics 2D>Box Collider 2D」を選択する
  2. 地面も同様に、インスペクタービューで「コンポーネントの追加>Physics 2D>Box Collider 2D」を選択する

以上で、キャラクターと地面に当たり判定が付き、無事に地面に着地するようになります。

地面に着地するようになる

例ではBox Collider 2Dを使用していましたが、他にもありますが、一部紹介します。

  • Circle Collider 2D:円の形状をしています
  • Capsule Collider 2D:楕円みたいな細長い円状の形をしていて縦横両方向に引き延ばすことが可能です

まとめ

いかがでしょうか?

Unityでは地面の作成やキャラクターを地面に置くことが簡単にできました。

では本記事で行ったことをまとめます

  1. キャラクターを選択し、「コンポーネントの追加>Physics 2D>Rigidbody2D」を選択する
  2. 地面の画像や図形を配置する
  3. キャラクター、地面に「コンポーネントの追加>Physics 2D>Box Collider 2D」を選択する
    (Box Collider 2Dでは無く他の形状の当たり判定でも問題ありません)

では今回はこの辺になります!

コメント

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