君がゲームを作る!Unityゲーム開発入門
第46回 外枠をすり抜けないようにする

ゲームの壁すり抜けバグってたまにあるよね

みなさん、こんにちは!

夏の暑さ対策はもっぱら水風呂、あらたまです。

さて今日は「君がゲームを作る!Unityゲーム開発入門」の第46回目です。

おさらい

前回 ではキャラクターをキーボードで操作できるようにしましたね。

ですがいまのままですと、キャラクターが外枠をすり抜けてしまいます。

今回はキャラクターが外枠を飛び出してしまわないようにしていきたいと思います。

今日の内容はほぼ 第17回 ステージの枠をすり抜けないようにしよう! で学習した内容の復習になります。

今回はざっと手順だけご説明しますので、忘れちゃったな…というかたは是非一度読み返してみてくださいね。

キャラクターに"Rigidbody"コンポーネントを追加

まずはキャラクターに"Rigidbody"コンポーネントを追加、物理演算システムの対象にされるようにします。

ヒエラルキーウィンドウで「yusya」を選択し、"Add Component"をクリックします。

「Physics 2D」をクリックします。

「Rigidbody 2D」をクリックします。

インスペクターウィンドウに「Rigidbody 2D」が追加されました!
「Gravity Scale」(重力の強さ)も0に変えておきましょう。

キャラクターに"Collider"コンポーネントを追加

続いてキャラクターに"Collider"コンポーネントも追加します。

これによって、壁との衝突を検知することができるようになります。

キャラクターのスプライトをクリックして選択し、"Add Component"をクリックします。

「Physics 2D」をクリックします。

「Circle Collider 2D」をクリックします。

タイルマップに"Collider"コンポーネントを追加

同じようにタイルマップにもコライダーを追加していきましょう。

ヒエラルキーウィンドウで「MountainTilemap」を選択し、「Add Component」をクリックします。

「Tilemap」をクリックします。

「Tilemap Collider 2D」をクリックします。

動作を確認する

それでは、テストプレイをして動作を確認してみましょう!
「▶」ボタンをクリックしてプレイモードに入ります。

キャラクターを操作してみると。。山にぶつかって、それ以上は進めなくなりました!

今回はここまでです!

次回は、キャラクターのアニメーションを設定していきたいと思います。

次回へ続く。

>> 続きの記事
【君がゲームを作る!Unityゲーム開発入門】第47回 キャラクターのアニメーションを設定する(前編)