Unityで2Dゲームの壁を設置(2D物理マテリアル)【2Dゲーム作成.04】

初めてのUnityでゲーム作成。第4回目になりましたね。ものすごい簡単なものでもはじめは結構大変ですね、当たり前ですが。今回は壁の設置(2Dボックスコライダー)をしていきます。第1回目の記事は下記から。

壁の設定(2Dボックスコライダー)

前回までで「マトが動く」、「マウスでマトをクリックすると消滅する」ところまでいきました。前回までの状態だとマトが画面外に消えてしまうので今回は壁を設置して画面内でマトが動くようにしていきます。

壁(オブジェクト)の設置

まずは壁を設置していきます。「ヒエラルキーツリー」内で右クリックして「空のオブジェクトを作成」

追加したオブジェクトに適当に名前を付けて(右の壁ってことでWall_Rとしてます)選択。インスペクター画面で「コンポーネントを追加」から「2Dボックスコライダー」を追加。

んでもってオブジェクトのサイズやらを調整。画面の右端にちょうど収まる感じに「位置」と「拡大/縮小」を設定。見えにくいですが、画面内に緑色の枠線があるのでそれを見ながら調整。

同じように「左壁」、「上壁」、「下壁」用のオブジェクトを追加。

座標指定はマイナスとか入れて画面を囲うように設定。

四方を囲めたら一度試しに実行してみます。

壁があるおかげで画面外には出なくなりましたが、壁に当たると跳ね返らずコロコロと転がりますね。ちょっとイメージと動きが違いますね。

壁の反発設定(2D物理マテリアル)

壁に当たったときに同じ速度(強さ?)で跳ね返るように設定していきます。

アセットの2D物理マテリアル

先ほど2Dボックスコライダーを設定した時にマテリアルの個所が「なし(2D物理マテリアル)」となってましたね。ここに設定する形になります。

まずはプロジェクトツリーの「作成」の中から「2D物理マテリアル」を選択。

物理マテリアルはAssets(アセット)内に追加されるので適当に名前を付けます。(Physics Material 2Dとしてます)。選択するとインスペクター内に設定できる項目が2つ出てきます。Frictionが摩擦、Bouncinessは跳ね返りみたいな意味ですね。摩擦はいらないので0に、跳ね返りはそのままの力で跳ね返してほしいので1と設定します。

設定したら、この「2D物理マテリアル」を先ほど設置した4つの壁全ての「2Dボックスコライダー」の「マテリアル」にセットします。

これで設定完了。ってことで実行してみます。

上手く壁で跳ね返って良い感じでマトが動けばとりあえず今回は完了って感じですね。

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