2D ゲームキットウォークスルー
Tutorial
·
Beginner
·
+0XP
·
60 mins
·
(146)
Unity Technologies

このガイドでは、2D Game Kit で空のシーンから、新しいステージを作成する手順をご紹介します。このキットを使ったゲームプレイ作成の基礎を一通り解説していきます。 このキットには、あらかじめ作成されたゲームが 1 つ含まれています。このゲームではキットに含まれるすべての要素の使用例を見ることができるので、困った時やアイデアが欲しい時に参考にしてみてください。
キットの内容をすでに熟知されている方、あるいは特定の情報だけ見たいという方は、リファレンスガイドや高度なトピックに関するチュートリアルをご覧ください。これらはプロジェクトのドキュメンテーションのフォルダーにも収録されています。
Languages available:
1. 新規シーンを作成する
このプロジェクトでは、デフォルトのシーンを自動で新規作成できます。このシーンには、Ellen(主人公)、小さな地面、体力 UI のほか、動き回ったり敵を攻撃したりするために必要なすべての要素が含まれています。
早速、新規シーンを作成してみましょう。
- トップメニューで「Kit Tools」をクリックしてください。
- 「Create New Scene...」を選択します。

- 新しいウィンドウが開きます。

- 「New Scene Name」の横にある空のフィールドに、好きなシーン名を入力してください。
- 「Create」をクリックします。
プロジェクトのルート内に新規シーンが 1 つ作成されます。またこのシーンが Build Settings ウィンドウに追加されます。

新規シーンはエディターでも開きますので、すぐに作業を開始できます。

2. ステージをペイントする
2D Game Kit は、Unity のタイルマップ機能を使用しています。これはステージの設計を簡単に素早く行えるように開発された機能です。2D Game Kit では、必要な準備が事前にすべて整っていますので、すぐに作業を開始できます。
それでは、ステージのデザインを始めてみましょう。
- トップメニューから、Window > Tile Palette の順に選択してください。

Tile Palette ウィンドウが以下のように表示されます。

ステージの設計に使用できる タイルセット(Tileset) が 2 つ用意されています。これらのタイルには、Unity タイルマップ の スクリプタブルタイル の仕組みが使われています。各地面に適したスプライトが自動的に選択されます。ここでは、Grassy Rocks(草が生い茂る岩) と Alien Structure(異惑星文明の建造物)の 2 種類のスプライトが用意されています。
Tile Palette で、使用するタイルセットの選択を行います(以下手順)。
- タイルセットメニュー をクリックします。
- 「Tileset_Gamekit」をクリックします。
- ステージに使用したい種類のタイルを選んでください。

それでは、シーンにタイルをペイントしてステージを作成してみましょう。
- Tile Palette 内で任意のタイルをクリックして選択してください。
- Sceneビュー を表示してください。
- ペイントモードから左クリック+ドラッグで、ステージにタイルをペイントします。
間違えた時は、Shift キーを押しながら、左クリックまたはドラッグすると、タイルを削除できます。

3. ステージのテストを行う
ステージが作成できたので、その中でキャラクターを動かしてみましょう。

- エディター上部にある再生ボタンを押してください。

デバッグメニューも搭載されています。Game ビュー 中にキーボードで F12 キーを押すと、Ellen の各武器の有効・無効の切り替えを行えます。
4. 動く地面を追加する
Scene ビューでゲームオブジェクト の操作を開始します。まず、ペイントモードになっている場合はこれを切り替える必要があります。Tile Palette を閉じるか、エディターの左上にある移動ツールを選択してください。(移動ツールはキーボードの W* キーを押すことでも選択できます)

それでは、動く地面をステージに追加していきましょう。

- Project ウィンドウを表示してください。
- Prefabs > Interactables の順にクリックしてください。
- 左クリック + ドラッグで MovingPlatformを Scene ビュー に追加してください。
- Hierarchy 内で MovingPlatform が選択されていることを確認してください。
- W キーを押すと移動ツールが使用できます。
移動ツールを使って MovingPlatform をステージ内の好きな場所に配置してください。
MovingPlatform を選択すると、先端に 移動ツール ギズモ(赤い矢印)の付いた赤い点線が表示されます。これは、動く地面の移動方向を示しています。

- 赤い点線の先端にある移動ツールギズモを使って、プラットフォームの移動方向を設定してください。

MovingPlatform の移動経路をプレビューするには、その MovingPlatform を選択し、以下の手順に従ってください。
- Inspector(インスペクター) を表示してください。
- Moving Platform コンポーネント内で、Preview position スライダーを見付けてください。
- スライダーを動かし、MovingPlatform の移動経路を確認してください。
それでは、移動経路をもう少し複雑にしてみましょう。四角くループするようにします。これは、 Node(ノード) の追加によって行います。
Node は、Moving Platform コンポーネントに追加できる、経路の接続ポイントです。

- Inspector 内で Moving Platform コンポーネント を見付けてください。
- 「 Add Node 」(ノード追加) を 2 回クリックしてください。

ギズモ付きの赤い点線が 2 つ追加されます。ギズモを使って、これらの Node を四角形になるように配置してください。
ここで、最後のノードから最初のノードへ戻る経路がないことにお気付きでしょう。この時点で再生ボタンを押した場合、プラットフォームは、最後のポイントに到達したら折り返して同じ経路を戻り、開始ポイントから再びスタートするという動きになります。
そこで、ループ状になるようにプラットフォームの設定を変更してみましょう。
- Moving Platform コンポーネント内で「 Looping 」のオプション設定を見付けてください。
- 「 BACK_FORTH 」と表示されたドロップダウンメニューをクリックします。
- 「 Loop 」を選択してください。

これでギズモがループ形状になり、地面がそれに沿って動くようになりました。
(注)Preview position スライダーはループ全体をプレビュー表示するわけではないので、全体を確認するには再生ボタンを押す必要があります。

本キットに含まれる全てのコンポーネントには、カスタマイズ可能なオプションが多数提供されています。Moving Platform コンポーネントの各オプションの詳細については、コンポーネントに関するリファレンスガイドの「Moving Platform」の項を参照してください。
5. イベントで扉を開く
2D Game Kit では、イベントによってアクションを作成することができます。プレイヤーが Pressure Pad の上に乗った時に扉を開くアクションを、イベントを使用してトリガーしてみましょう。
まずは、Door(扉)の追加から始めます。
- Project ウィンドウ で、Prefabs > Interactables の順に選択してください。
- Door プレハブ を見付けて Scene ビュー 内にドラッグします。プレイヤーの道を塞ぐような位置に配置してください。

次に、Pressure Pad(感圧パッド)を追加します。
- Project ウィンドウで、Prefabs > Interactables の順に選択し、PressurePad というプレハブを見付けてください。
- PressurePad をドラッグして Door の前の地面に配置します。
(注)プレイヤーがパッドの上に乗らずに、パッドにぶつかって進めなくなっているようであれば、少し位置を下げてみてください。プレイヤーがコライダーにぶつかって進めなくなることは良くあります。

いくつかのイベントは事前に設定済みです。例えば、上に乗ると、PressurePad は音を鳴らして光るようになっています。では、ここで PressurePad を Door に接続してみましょう。
- Hierarchy ウィンドウで、PressurePad を選択してください。
- Inspector 内で Pressure Pad コンポーネントを見付けてください。
- 「 On Pressed 」というリストの下部にある「+」をクリックすると、新規イベントが追加されます。
- Hierarchy ウィンドウから、Door ゲームオブジェクトを、作成した新規イベントの「None(Object)」フィールドにドラッグしてください。
- 「No Function」のドロップダウンメニューから Animator > Play(string) の順に選択してください。

- ドロップダウンメニューの下に表示されたテキストボックスに、「 DoorOpening 」と入力してください。

- 再生 ボタンを押し、移動キー( A や D )を押して感圧パッドの上にプレイヤーを乗せてください。扉が開くはずです!
すべてのアニメーションクリップは、Project ウィンドウ内の Art > Animations > Animation Clips の中にあります。ひとつのイベント内で異なるアニメーターを再生するには、Animation Clip の名前(文字列)を完全に一致させる必要があります。

感圧パッドを配置するのではなくスイッチを撃つ仕組みにしたい場合は、基本的には上記と同じ手順になりますが、Prefabs フォルダー内で PressurePad ではなく ResusableSwitch を選択します。是非お試しください!
6. 敵
本キットには Chomper と Spitter という、あらかじめ作成済みの 2 種類の敵が含まれています。これらは Project ウィンドウの Prefabs > Enemies の中にあります。

これらの敵の制御は、Inspector の Enemy Behaviour コンポーネントで行います。このコンポーネントでは、敵の速度や有効視野(FOV[Field Of View])、体力などを調整できます。これら 2 種の敵は同じコンポーネントを持っており、その設定が少し異なる形になっています。値の設定は手入力でも行えますが、コンポーネントのプロパティ上をクリックして左右にドラッグする方法でも行えます。
シーンに Chomper を追加してみましょう。各種設定を調節して、Chomper の動きの速さ(Speed)や有効視野(View Fov)を変えてみてください。再生モード中で、武器が無効になっている場合は F12 キーを押すと有効化できます。O や K キーを押すと攻撃できます。

上のシーンの画像では、Chomper が選択されています。後ろを振り向くまで Ellen を見ることができないように、Chomper の View FOV と View Direction を調整した状態です。

Enemy Behaviour コンポーネントに関する詳細は、コンポーネントに関するリファレンスガイドを参照してください。
7. オブジェクトを使ってダメージを与える
このセクションでは、ダメージのシステムについて説明します。ちょっと可哀想ですが、今回は 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 コンポーネント を表示します。
- Offset とSize で衝突ボックスの位置とサイズを調整します。「X」「Y」の文字の上で左クリックしたまま左右にドラッグすると数値を動かせます(これが最も手早い方法です)。

最後に以下の手順で、ダメージが適切なゲームオブジェクトに加えられるようにする設定を行います。Unity エディター上では、オブジェクトは Layer(レイヤー) ごとに分類され、簡単に選別できるようになっています。
- PushableBox を選択してください。
- Inspector で Damager コンポーネントを表示してください。
- 「 HittableLayers 」のドロップダウンメニューで「 Enemy 」というレイヤーを選択してください。

これで、PushableBox によるダメージが、「 Enemy 」レイヤーにあるすべてのオブジェクト(Spitter など)に与えられるようになりました。
試しに他の敵にもダメージを与えてみてください。Ellen にも試してみましょう!
8. 装飾を施す
本キットには、装飾用スプライトも含まれています。これらはすべてサンプルゲーム『The Explorer』の中で使用されています。
【ヒント】サンプルゲームの中で何か目を引くものがあれば、その名前を確認して Project ビューで検索することができます。
ステージの「インスタ映え」を目指すなら、Project ビュー内の Art > Sprites > Environment で装飾アイテムを探してみてください。サブフォルダー内にも多数入っていますので、小さな矢印を展開して各カテゴリーの中にある各種スプライトも確認してみてください。

9. プレイヤーのテレポート
シーン内のある領域から別の領域へ、あるいは別のステージへ、プレイヤーをテレポートさせることができます。
同じシーン内でのテレポート
プレイヤーをテレポートさせるには、 遷移 の設定が必要です。ひとつのシーン内でテレポートを行うためには、以下の 2 つのプレハブを作成します。
- TransitionStart
- TransitionEnd
まず最初に、遷移元(出発点)を設定します。
- Project ウィンドウで、Prefabs > SceneControl の順に選択してください。
- TransitionStart プレハブを見付けてください。
- TransitionStart を Scene ビュー にドラッグしてください。プレイヤーが歩いた際にコライダー〔Collider〕(緑のボックス)に接触する位置に配置します。下の画像では扉の反対側に設置しています。

遷移先(目的地点)の設定は以下の手順で行います。
- SceneControl フォルダーから TransitionStart プレハブをもう 1 つ Scene ビュー 内にドラッグしてください。
- Inspector 内で、その名前を「TransitionEnd」に変更してください。

ここで、この 2 つを接続します。
- Hierarchy 内で、TransitionStart ゲームオブジェクトを選択してください。
- Inspector 内で、TransitionPoint コンポーネントを見付けてください。
- Hierarchy から Ellen ゲームオブジェクトを、 Transition Point コンポーネントの「Transitioning Game Object」のスロットへドラッグしてください。
- 「Transition Type」を「Same Scene」に設定してください。

これにより、テレポートするオブジェクトが Ellen のみになり、また同一シーン内でテレポートが行われるように設定されました。
では、テレポート先(目的地点)を設定しましょう。
- TransitionEnd ゲームオブジェクトを TransitionPoint コンポーネントの 「DestinationTransform」のスロットへドラッグしてください。
- 「Transition When」を「On Trigger Enter」に設定します。
「On Trigger Enter」に設定した場合、プレイヤーがその Collider(緑の衝突ボックス)に入った場合にのみ Transition(遷移)がアクティベートされ、キーボードのキー操作ではアクティベートされません。逆にプレイヤーがインタラクトキー(E)を押した時にだけアクティベートさせたい場合は、「Transition When」を「Interact Pressed」に設定してください。
###別のシーンへのテレポート
別のシーンへプレイヤーをテレポートさせる場合、以下の 2 つのプレハブが必要です。
- TransitionStart ― 上記で使用したものと同じプレハブです。プレイヤーを目的地へ「転送」するものです。このプレハブは Transition Start コンポーネントを含んでおり、テレポートの始点と終点に関するすべてのプロパティはこのコンポーネントによって設定されます。このプレハブをトランスポートの始点に設置します。
- TransitionDestination ― プレイヤーを「受け取る」プレハブです。これは Transition Destination コンポーネントを含んでいます。このプレハブを、別のシーン内で、トランスポートの終点に設置します。
これら 2 つのコンポーネントに関する詳細は、コンポーネントに関するリファレンスガイドを参照してください。
###TransitionDestination(遷移先)を設定する
まず、目的地点の設定から始めます。出発地点は後で設定します。特定のシーンに遷移を追加するには、そのシーンを開き、Project ウィンドウで Prefabs > SceneControl > TransitionDestination の順に選択します。これをそのシーン内で、テレポート先として設定したい位置に配置します。
TransitionDestinaton プレハブには Scene Transition Destination コンポーネントが含まれています。

- まず、「Destination Tag」に任意のアルファベットを選択してください。どの文字を選んでも(そのシーン内で他にその文字の設定された Scene Transition Destination コンポーネントがなければ)問題ありません。
- 次に、どのゲームオブジェクトを受け取るか設定します。プレイヤーゲームオブジェクト(Ellen)を Hierarchy ウィンドウから「Transitioning Game Object」のスロットにドラッグしてください。
- 最後に、この目的地点のシーンがエディターの Build Settings ウィンドウに登録されていることを確認します。確実に登録するには、メニューの File から Build Settings を選択してウィンドウを開き、「Add Open Scenes」をクリックしてください。
TransitionStart(遷移元)を設定する
設定は上記とほぼ同じですが、以下の点が変わります。

- 「Transition Type」は「Different Zone」に設定します。
- 「New Scene Name」を転送先のシーンに設定します。
- 「 Transition Destination Tag」を、Transition Destination コンポーネント の「 Destination Tag 」で選択したアルファベットに設定します。
例
それでは、サンプルゲームの最初のステージにプレイヤーをテレポートさせてみましょう。Transition Start コンポーネント内で、以下のように設定を変更してください。
- 「Transition Type」は「Different Zone」に設定します。
- 「New Scene Name」を「Zone1」に設定してください。
- 「Transition Destination」を「A」に設定してください。

再生ボタンを押し、遷移の出発点まで歩いてください。Zone1 の冒頭にテレポートされるはずです!
10. 楽しもう
本キットに含まれるオブジェクトのほとんどが、Pressure Pad(感圧パッド)の仕組みにも使用されている「イベント」システムに対応しています。
既存のシーン(Zone 1 ~ 5)をプレイして、様々なオブジェクトがイベントやトリガーを使用してどのように設定されているか見てみてください。
すべてのコンポーネントとそのパラメーターの詳細は、コンポーネントに関するリファレンスガイドを参照してください。
それでは、ステージのデザインを楽しんでください!