オブジェクトを使ってダメージを与える

確認済のバージョン: 2017.3

-

難易度: 初級

このセクションでは、ダメージのシステムについて説明します。ちょっと可哀想ですが、今回は Spitter の上にボックスを落として倒してみましょう!

まず、以下のように Ellen を高い所に配置し、下段の地面に Spitter を配置する形でステージを作成してください。

  • Project ビューで Prefabs > Enemies の順に選択し、Spitter を 1 体 Scene ビュー にドラッグしてください。
  • ステージの下のほうの、崖の面の横に Spitter を配置します。
  • Spitter を選択した状態で、Inspector ビューで Enemy Behaviour (Script) を表示してください。
  • View Distance の数値を下げて、このゲームプレイのテスト中に Spitter がプレイヤーをすぐに撃たないようにします。

  • Project ウィンドウPrefabs > Interactables の順に選択し、PushableBox プレハブをクリックして Scene ビュー 内へドラッグしてください。
  • Hierarchy ウィンドウで PushableBox を選択し、Inspector 内で「 Add Component 」ボタンをクリックしてください。
  • 検索ボックス 内に「 Damage 」と入力してください。
  • Damager 」をクリックして PushableBox に追加してください。

Damager コンポーネントは、Damageable コンポーネント を持つ全てのゲームオブジェクト(Spitter や Chomper など)に、ダメージを与える指示を与えます。この仕組みに関する詳細はコンポーネントに関するリファレンスガイドを参照してください。

Damager は上の画像のように緑の「コリジョンボックス」で示されます。これは、ダメージを与える領域です。この段階ではまだ PushableBox がこの領域に入っていないので、PushableBox を Spitter の上に落としてもダメージを受けません。

コリジョンボックスを調整して、そのサイズと位置を PushableBox と大体同じになるようにします。これは 2 通りの方法で行えます。

  • [方法 1 ]コリジョンボックスの輪郭線上にある緑の点を選択して、PushableBox に被るようにサイズと位置を調整します。

  • [方法 2]Inspector で Damager コンポーネント を表示します。
  • OffsetSize で衝突ボックスの位置とサイズを調整します。「X」「Y」の文字の上で左クリックしたまま左右にドラッグすると数値を動かせます(これが最も手早い方法です)。

最後に以下の手順で、ダメージが適切なゲームオブジェクトに加えられるようにする設定を行います。Unity エディター上では、オブジェクトは Layer(レイヤー) ごとに分類され、簡単に選別できるようになっています。

  • PushableBox を選択してください。
  • Inspector で Damager コンポーネントを表示してください。
  • HittableLayers 」のドロップダウンメニューで「 Enemy 」というレイヤーを選択してください。

これで、PushableBox によるダメージが、「 Enemy 」レイヤーにあるすべてのオブジェクト(Spitter など)に与えられるようになりました。

試しに他の敵にもダメージを与えてみてください。Ellen にも試してみましょう!

関連するチュートリアル