【Unity2D】物体を重力で落下させ、互いに衝突させる

前回の記事(【Unity2D】物体を重力で落下させる)ではスプライトにRigidBody2Dコンポーネントを追加して重力に従って落下するようにしました。

今回は物体の形状を設定して互いに衝突するようにしてみます。

準備

まず画面上に円と四角のスプライトを配置します。
それぞれにRigidBody2Dコンポーネントを追加します。ここまでが前回の記事の内容です。手順に関しては前回の記事をご覧ください。
【Unity2D】物体を重力で落下させる

コライダーを追加する

物理衝突を行うためには物体にコライダーを設定する必要があります。
コライダーとは、物理衝突における物体の形状を決めるものです。

シーンのヒエラルキーで円のスプライトをクリックして選択します。
AF2F15BC-DAD8-4AB6-9788-EE5953C3C30E.png

現状ではRigidBody2Dコンポーネントが追加されています。
ここでは円の形状に合わせて2Dサークルコライダーを追加します。

コライダーを追加する手順

  1. インスペクターの「コンポーネントを追加」をクリックします。
  2. 「2D物理」->「2Dサークルコライダー」の順にクリックします。
    5822A73F-1132-46DE-8F04-73729137DD2C.png
  3. 2Dサークルコライダーが追加されました。
    20427884-E85E-48DB-B9F2-176EC6857074.png

四角のスプライトにも同様にコライダーを追加します。
こちらは形状が四角ですので、2Dボックスコライダーを追加します。

  1. シーンのヒエラルキーで四角のスプライトをクリックして選択します。
  2. インスペクターの「コンポーネントを追加」をクリックします。
  3. 「2D物理」->「2Dボックスコライダー」の順にクリックします。
  4. 2Dボックスコライダーが追加されます。

実行する

四角のスプライトは落下させたくないので「静物」として設定します。
インスペクターの「Rigidbody2D」でボディタイプは「静的」としておきます。これで動くことはありません。
E5CFC03D-89E8-4A8E-80FF-D35FD47773FB

実行ボタンを押してゲームを開始します。
8706CC16-C84D-4ADB-BD3F-942E2B805A83

円のスプライトが落下し、四角のスプライトに衝突して停止します。