2D ゲームキットリファレンスガイド
Tutorial
·
Beginner
·
+0XP
·
90 mins
·
Unity Technologies

2D Game Kit は、Unity で 2D のゲームやパズルをコーディングせずに作成できるキットです。本セクションでは、このキットでゲームを作成するに当たって使用可能な各種コンポーネントの機能や設定を解説しています。
Unity を使い始めて間もない方は、インタラクティブチュートリアルを一通り行って Unity のインターフェースに親しむことをお勧めします。Unity に関する詳しい情報は、「Unity を学ぶ」をご覧ください。
このリファレンスガイドは、特定のコンポーネントや設定に関する詳しい情報を知りたい場合に参照していただくと便利です。ナビゲーションバーを使って、必要なセクションに直接移動することもできます。
2D Game Kit の基本的な使用方法を学びたい場合は、2D Game Kit ウォークスルーをご覧ください。
このプロジェクトに含まれるサンプルゲーム『The Explorer』には、ゲームプレイ用に本キットが提供しているすべてのコンポーネントが使用されています。各種ゲームオブジェクトがどんな風に使われているか知りたい時は、「Scenes」フォルダー内にあるシーン「Zone 1」~「Zone 5」の中身を見てください。
重要な用語や概念は強調表示し、詳細情報を参照できるリンクも多くあります。
Languages available:
1. Ellen(自機)
「Ellen」プレハブ は、本キットのプレイヤーキャラクターです。Ellen は、一般的なキャラクターの操作である移動とジャンプの他に、しゃがんだり、プラットフォーム(地面・足場)をすり抜けて下に落ちたり、近距離攻撃や射撃をすることもできます。
標準のアクション制御(PC)
Ellen は Sprite Renderer コンポーネント 、Animator コンポーネント、Capsule Collider 2D コンポーネント、Rigidbody 2D コンポーネント、および多数のカスタムスクリプトを使って作成されています。

Character Controller 2D
Character Controller 2D スクリプトは、シーン内で物理法則に従って Ellen を動かすために使用されています。

- Grounded Layer Mask ― (初期設定:Platform) キャラクターが乗れるレイヤーです。「Platform」レイヤーに設定すると、Ellen が、このレイヤー上にある Ellen 以外のすべての物(地面など)の上を歩けるようになります。
- Grounded Raycast Distance ― (初期設定:0.1) Ellen はコライダーの下を始点とするレイキャストを使って、地面の上に立っているかどうかを判定します。この数値を大きくすると Ellen は地面の位置を高めに認識し、足がずっと地面に着いた状態になります。数値を低くすると Ellen は地面の位置を低めに認識します。小さくしすぎると、Ellen はずっと落下のモーションを取るようになってしまいます。
Player Input(プレイヤー入力)
プレイヤー入力の割り当てを簡単に変更できます。Player Input スクリプトが、ゲームの使用する制御を Unity の Input Manager に指示します。キーボードとマウスによる制御でも、Xbox One コントローラーによる制御でも、ゲームに使用するキーやボタンはこのコンポーネントで変更できます。
このコンポーネントへの変更はすべて Ellen プレハブの(インスタンス)の複製に対して加えるため、シーン毎に行われる形になります。複数のステージがあるゲームで Ellen の Player Input を変更した場合、Ellen インスタンスの上部にある「Apply」(適用)ボタンを必ず押す必要があります。これにより元のプレハブの設定が変更され、他のステージにある他のすべての Ellen インスタンスにも同じ入力設定が適用されます。

インスタンスを見ている場合には、その旨をリマインドする警告メッセージも表示されるようになっています。Player Input コンポーネントでこの警告が表示された場合は「Select Prefab」をクリックすれば、プレハブの編集画面が表示されます。

Player Input の設定は以下のようになっています。

- Input Type ― (初期設定:Mouse And Keyboard) 入力のタイプの設定です。「Mouse and Keyboard」と「Controller」の 2 つから選択できます。本キットのコントローラーは、デフォルトでは Xbox One タイプに設定されています。
- Pause ― ゲームの一時停止(ポーズ)に使用するキーとボタンの設定です。
- Key ― そのアクションに使用する、キーボードのキーの設定です。
- Controller Button ― そのアクションに使用する、コントローラーのボタンの設定です。
- Enabled ― そのアクションのオン(有効)・オフ(無効)の切り替えです。チェックマークを入れると有効になります。
- Interact ― 環境とのインタラクションに使用するキーとボタンの設定です。
- Key ― そのアクションに使用する、キーボードのキーの設定です。
- Controller Button ― そのアクションに使用する、コントローラーのボタンの設定です。
- Enabled ― そのアクションのオン(有効)・オフ(無効)の切り替えです。チェックマークを入れると有効になります。
- Melee Attack ― こん棒を振るアクションに使用するキーとボタンの設定です。
- Key ― そのアクションに使用する、キーボードのキーの設定です。
- Controller Button ― そのアクションに使用する、コントローラーのボタンの設定です。
- Enabled ― そのアクションのオン(有効)・オフ(無効)の切り替えです。チェックマークを入れると有効になります。
- Ranged Attack ― 銃を撃つアクションに使用するキーとボタンの設定です。
- Key ― そのアクションに使用する、キーボードのキーの設定です。
- Controller Button ― そのアクションに使用する、コントローラーのボタンの設定です。
- Enabled ― そのアクションのオン(有効)・オフ(無効)の切り替えです。チェックマークを入れると有効になります。
- Jump ― ジャンプに使用するキーとボタンの設定です。
- Key ― そのアクションに使用する、キーボードのキーの設定です。
- Controller Button ― そのアクションに使用する、コントローラーのボタンの設定です。
- Enabled ― そのアクションのオン(有効)・オフ(無効)の切り替えです。チェックマークを入れると有効になります。
- Horizontal ― 左右の移動に使用するキーとアナログスティックの設定です。
- Positive ― 右(X 軸の正方向《positive》)への移動に使用する、キーボードのキーの設定です。
- Negative ― 左(X 軸の負方向《negative》)への移動に使用する、キーボードのキーの設定です。
- Controller Axis ― 左右の移動に使用する、コントローラーのアナログスティックまたはボタンの設定です。
- Vertical ― しゃがむアクションや上を見るアクションに使用する、コントローラーのアナログスティックとボタンの設定です。
- Positive ― 上(Y 軸の正方向《positive》)を見る際にカメラを動かすために使用する、キーボードのキーの設定です。
- Negative ― しゃがむ(Y 軸の負方向《negative》)アクションに使用する、キーボードのキーの設定です。
- Controller Axis ― 上を見るアクションとしゃがむアクションに使用する、コントローラーのアナログスティックまたはボタンの設定です。
- Persistence Type および Data Tag ― データ・パーシステンス(データの持続性)に関するシステムの詳細は、「データ・パーシステンス」の項をご覧ください。Melee Attack(近距離攻撃)と Ranged Attack(範囲攻撃)のどちらが有効になっている場合でも、このクラスによってデータが持続されます。
Player Character

Player Character スクリプトには、ゲーム中の Ellen の挙動に関する情報がすべて含まれています。ここに含まれる設定は、動きとオーディオとカメラを制御するものです。
ここで加えた変更はすべて、そのシーンのプレハブのインスタンスにのみ適用されます。すべてのステージに変更を適用したい場合は、インスタンスの上部にある「Apply」をクリックすれば、Ellen プレハブ自体に変更が適用されます。

- References ― 通常はこれを調整する必要はありません。スクリプトが機能するために必要な参照がすべて含まれています。
- Sprite Renderer ― キャラクターの向く方向の設定に使用されます。
- Damageable ― キャラクターがダメージを受けた時のモーションの方向設定に使用されます。
- Melee Damager ― 特定のアニメーション中におけるダメージの有効・無効の設定に使用されます。
- Facing Left/Right Bullet Spawn Point ― 射撃時の弾丸の発生位置として使用されます。
- Bullet Pool ― 弾丸を発生させる際に使用されます。
- Camera Follow Target ― キャラクターから見たカメラの位置を制御するために使用されます。例えば、高速移動時にキャラクターからの距離を維持するなどの挙動に使用されます。

- Movement Settings ― Ellen の地上における移動速度の設定です。
- Max Speed ― (初期設定:7) Ellen の走る速度の最大値です。
- Ground Acceleration ― (初期設定:100) 地上において Ellen が Max Speed(最大速度)に達する速さです。
- Ground Deceleration ― (初期設定:100) 無入力時に Ellen の移動の動きが停止する速さです。
- Pushing Speed Proportion ― (初期設定:0.5) Ellen がボックスを押す時の移動速度で、Max Speed に対する割合を設定します。

- Airborne Settings ― Ellen の空中移動の速度の設定です。
- Airborne Accel Proportion ― (初期設定:1) 空中において Ellen が最大速度に達する速さです。Ground Acceleration に対する割合を設定します。
- Airborne Decel Proportion ― (初期設定:0.5) 空中において Ellen の移動の動きが停止する速さです。Ground Deceleration に対する割合を設定します。
- Gravity ― (初期設定:38) Ellen に働く重力の大きさで、地面に向かって落ちる速さを決める値です。ジャンプの高さにも影響します。
- Jump Speed ― (初期設定:16.5) Ellen がジャンプした時の上方向への推進力です。ジャンプの高さにも影響します。
- Jump Abort Speed Reduction ― (初期設定:100) ジャンプボタンが離された時にジャンプ値が減少する速さです。ジャンプの高さにも影響します。

- Hurt Settings ― Ellen がダメージを受けた時の動きや見た目の設定です。ダメージに対する Ellen の反応に関するこの他の設定については、本リファレンスガイド内の「ダメージシステム」の項をご覧ください。
- Hurt Jump Angle ― (初期設定:45) Ellen はダメージを受けると、その反動で(ダメージ源と反対の方向へ)空中に跳ね返ります。その跳ね返りの、水平方向に対する角度です。
- Hurt Jump Speed (初期設定:8) Ellen がダメージを受けた時の、跳ね返りの推進力です。
- Flickering Duration (初期設定:0.05) ダメージを受けると、Ellen のスプライトが素早く点滅し、ちらつく演出になっています。この点滅時の、スプライトの表示・非表示の切り替わり時間の長さを設定します。

- Melee Settings ― Ellen のこん棒を振る動きの速さです。ダメージを与える Ellen のアクションに関するその他の設定については、「ダメージシステム」の項をご覧ください。
- Melee Attack Dash Speed (初期設定:15) Ellen がこん棒で近距離攻撃を行う際に水平方向にダッシュする距離です。
- Dash While Airborne ― (初期設定:有効) 空中攻撃時のダッシュを有効にできます。水平方向の動きが設定されますが、値の増加は行われません。空中で Ellen が既に水平移動中の時は、この設定による目に見える効果は表れないかもしれません。

- Ranged Settings ― Ellen が銃を撃った時に生成される弾丸に関連する設定です。
- Shots Per Second ― (初期設定:2) 1 秒間に生成可能な弾丸の最大数です。
- Bullet Speed ― (初期設定:30) 生成された弾丸の移動速度です。
- Holding Gun Timeout Duration ― (初期設定:1.5) Ellen が銃撃後に銃を構え続ける時間の長さです。
- Right Bullet Spawn Point Animated ― (初期設定:有効) 弾丸の生成位置のアニメーションは銃の位置に合わせて表示されるようになっています。デフォルトでは Ellen アセットの弾丸の生成位置は右側に設定されています。Ellen が左を向いている時には生成位置のアニメーションがミラーリングされます。左向きのアニメーションスプライトを独自に追加したい場合は、このボックスのチェックマークを外してください。

- Audio Settings ― 通常はこれを調整する必要はありません。Ellen の各種アクションのオーディオは、ワンパターンな印象を与えないようにランダムに再生されます。オーディオを再生する RandomAudioPlayers への参照は以下の通りです。
- Footstep Audio Player ― Ellen の足音に使用される RandomAudioPlayer です。
- Landing Audio Player ― Ellen が空中から着地した時に使用される RandomAudioPlayer です。
- Hurt Audio Player ― Ellen がダメージを受けた時に使用される RandomAudioPlayer です。
- Melee Audio Player ― Ellen の近距離攻撃時に使用される RandomAudioPlayer です。
- Ranged Attack Audio Player ― Ellen の射撃時に使用される RandomAudioPlayer です。

- Camera Follow Settings ― カメラは、Ellen を追うのではなく、Ellen の位置を基準にオフセット設定された位置をターゲットとして追うようになっています。このオフセットを制御する設定です。
- Camera Horizontal Facing Offset ― (初期設定:2) カメラターゲットの、Ellen の前方水平方向へのオフセット値です。
- Camera Horizontal Speed Offset ― (初期設定:0.2) Ellen の水平方向の速度に応じてターゲットが動く量です。
- Camera Vertical Input Offset ― (初期設定:2) プレイヤーの入力に基づいてターゲットが垂直方向にオフセットされる量です。
- Max Horizontal Delta Damp Time ― (初期設定:0.4) ターゲットが基準点からオフセット指定位置まで水平方向にずれるのにかかる時間の長さです。
- Max Vertical Delta Damp Time ― (初期設定:0.6) ターゲットが基準点からオフセット指定位置まで垂直方向にずれるのにかかる時間の長さです。
- Vertical Camera Offset Delay ― (初期設定:1) 「上を見る」や「下を見る」時に、ターゲットが垂直方向に動き始めるまでに上下の入力キーを押し続けなければならない時間の長さです。

- Misc Settings ― その他の設定のためのフォルダーです。
- Sprite Originally Faces Left ― (初期設定:無効) フリップされていないスプライトアセット自体の設定です。弾丸がどの生成位置から生成されるかなどの設定に使用されます。
2. Enemy Behaviour(敵の挙動)
Enemy Behaviour コンポーネントは、サンプルゲームに含まれる 2 種類の敵(Chomper と Spitter)に適用されます。これら 2 種の敵は、Project ウィンドウの Prefabs > Enemies の中にあります。
2 種類の敵は両方とも同じコンポーネントを使用していますが、設定が異なっています。

- Sprite Faces Left ― スプライトを左向きにしたい場合にチェックマークを入れてください。
- Movement(動き)
- Speed ― 敵の速度です。
- Gravity ― 敵の落下する速度です。
- References(参照)
- Projectile Prefab ― 敵が飛ばす発射物のプレハブです(発射する敵のみ)。
- Scanning Settings(検知設定)
- View Direction ― 敵がプレイヤーを検知できる方向です。Scene ビュー上で緑色の円で表されます。
- View FOV ― 敵の有効視野(Field of View)です。Scene ビュー 上で緑色の円で表されます。
- View Distance ― 敵がプレイヤーを見ることができるようになる距離です。Scene ビュー上で緑色の円で表されます。
- Time Before Target Lost ― プレイヤーが敵の範囲外に出てから、敵がプレイヤーを追いかけたり探したりするのを止めるまでの時間の長さです。
- Melee Attack Data ― (近距離攻撃に関する情報です。Chomper などの近距離攻撃をする敵にのみ適用されます。)
- Melee Range ― 敵がプレイヤーを攻撃した時にヒット可能になる(敵自身からの)距離です。
- Melee Damager ― 敵の Damager スクリプトです。詳細は「ダメージシステム」の項をご覧ください。
- Contact Damager ― 敵の Contact Damager スクリプトです。敵に触れることでダメージを発生させるスクリプトです。
- Attack Dash ― 敵が攻撃する時の前方へのダッシュの有効・無効の設定です。
- Attack Force ― プレイヤーが攻撃された時に加えられる力です。この力によって、攻撃されたプレイヤーが後方に跳ね返されます。
- Range Attack Data ― 範囲攻撃に関する設定です。Spitter などの範囲攻撃を行う敵にのみ適用されます。
- Shooting Origin ― 発射物の発射される位置(起点)です。
- Shoot Angle ― 発射物が発射位置(起点)から発射される際の角度です。
- Shoot Force ― 発射物に加えられる力です。
- Fire Rate ― 発射物の発射される速さです。
- Audio(オーディオ)
- Shooting Audio ― 発射物の発射時に使われる RandomAudioPlayer です。
- Melee Attack Audio ― 近距離攻撃時に使用される RandomAudioPlayer です。
- Die Audio ― 敵が死ぬ時に使用される RandomAudioPlayer です。
- Foot Step Audio ― 敵の足音に使用される RandomAudioPlayer です。
- Misc(その他)
- Flickering Duration ― 体力が 1 より高い状態でヒット(攻撃)を受けた敵は、ヒットされたことを示すために点滅します。その点滅の持続時間の長さです。
3. Health Pickup(回復アイテム)
Health Pickup は、プレイヤーが接触すると体力が回復するボックス(体力回復装置)のプレハブです。これは、Project ウィンドウの Prefabs > Interactables の中にあります。

- Health Amount ― ボックスから受け取る体力の量です。
- On Giving Health ― プレイヤーとボックスが接触してプレイヤーに体力が与えられる時にトリガーされるイベントです。
4. Pressure Pad(感圧パッド)
Pressure Pad(感圧パッド)は、プレイヤーがその上を歩くと光って音が再生されるように設定されています。扉を開くなどのトリガーイベントに接続することができます。

- Activation Type ― Pressure Pad のアクティベーション方法です。この設定によって、以降のオプションが変化します。
- Item Count ― Pressure Pad をアクティベートするために上に乗る必要のあるゲームオブジェクトの数です。
- Mass ― Pressure Pad をアクティベートするために必要なゲームオブジェクトの重さです。
- Required Count ― On Pressed および On Release のイベントのトリガーに必要なアイテムの数です。これは Activation Type が変更されると Required Mass に変わります。
- Deactivated Box Sprite ― Pressure Pad が押されていない時にこのスプライトに変更されます。Boxes オプションに Sprite Renderer がある場合にのみ必要です。
- Activated Box Sprite ― Pressure Pad が押された時に、このスプライトに変更されます。Boxes オプションに Sprite Renderer がある場合にのみ必要となります。
- Boxes ― PressurePad 上に乗せられるボックスのリストです。これらが乗せられると、スプライトが Deactivated Box Sprite および Activated Box Sprite に設定されたものに変わります。
- On Pressed ― Pressure Pad が押された時に起こるイベントです。Required Count または Required Mass の設定値に依存します。
- On Release ― Pressure Pad が解放された時に起こるイベントです。Required Count または Required Mass の設定値に依存します。
5. ダメージシステム
本キットにおけるダメージのシステムは、 2 つのコンポーネント(Damager スクリプトと Damageable スクリプト)で構成されています。
Damager スクリプトをゲームオブジェクトに加えると、Damageable コンポーネントを持つすべてのゲームオブジェクトにダメージを与えることができるようになります。(相互の設定が適合している必要があります。)
Damager
Damager コンポーネントには、Damageable コンポーネントおよび非 Damageable コンポーネントとの衝突時のイベントが含まれています。体力の計算は自動的に行われ、これらのイベントはゲームプレイの変更や視覚エフェクトをトリガーするために使用されます。
Damager コンポーネントはコライダーを必要としません。このコンポーネントは Scene ビュー上にボックス上のギズモを表示します。このギズモを使ってサイズと位置の調整を行えます。

- Damage ― そのゲームオブジェクトが Ellen や Chomper などの Damageable にヒットした時に与えるダメージの量です。
- Offset、Size ― Damager 衝突ボックスを定義する 2 つのパラメーターです。Scene ビューで Spikes の周りに表示されるボックスがこれに当たります。衝突されることでダメージを与えます。

- Offset Based On Sprite Facing ― スプライトの向いている方向に応じて Damager が位置を変えられるようにするものです。これは Ellen にも使用されています。向いている方向に応じて Damager が左右にフリップするようになっています。
- Sprite Renderer ― 上記の設定が使用する Sprite Renderer です。
- Can Hit Triggers ― 有効にすると Damager がトリガーと衝突し、無効にするとトリガーを完全に無視します。
- Force Respawn ― 有効にすると、Damageable を持つゲームオブジェクトが直近のチェックポイントに即座に生成されます(例えばプレイヤーが水に落ちた時に、Acid プレハブがこれを使用します)。
- Ignore Invincibility ― 有効にした場合、Damager は Damageable へのヒットは検知しますが体力は奪いません。サンプルゲームでは Acid に使用されており、プレイヤーが敵にヒットされた後で無敵状態だった場合も含めて常に再生成されるようになっています。
- Hittable Layers ― Damager がダメージを与えるレイヤーです。選択されていないレイヤーはダメージを受けません。
- On Damageable Hit: ― Damageable コンポーネントを持つゲームオブジェクトがヒットを受けた時に再生されるイベントです。
- On Non Damageable Hit ― Damageable コンポーネントを持たないゲームオブジェクトがヒットを受けた時に再生されるイベントです。
Damageable
Damageable コンポーネントは、Damager コンポーネントを持つゲームオブジェクトとの衝突によってダメージを受けます。 ダメージを受けた時用、体力回復時用、体力変化時用、体力が完全に尽きた時(死亡)用のイベントがあります。
Damager とは逆に、Damageable コンポーネントは、同じゲームオブジェクトにアタッチされたコライダーに依存するため、ゲームオブジェクトには Damageable スクリプトを追加するだけでなく、衝突の検知される領域を定義するコライダーも忘れずに追加してください。

- Starting Health ― 体力のレベルです。Damagers は、衝撃が発生する毎に体力を奪います。Damageable Component を持つゲームオブジェクトは、この値が 0 になると死亡します。
- Invulnerable After Damage ― これが有効になった Damageable を持つゲームオブジェクトは、衝撃を受けた後一定時間無敵(ダメージを受けない状態)になります。
- Invulnerability Duration ― 衝撃を受けた後に Damageable が無敵状態になる時間の長さ(秒単位)です(ひとつ上の設定が有効になっている場合にのみ適用されます)。
- Disable On Death ― 死亡時にゲームオブジェクトを無効にする設定です。
- Centre Offset ― Damageable の中心を定義します(オフセットが (0,0) の場合、ゲームオブジェクトの位置が Dameageable の中心となります)。Damager との距離を計算するのに使用されます。
- On Take Damage ― ゲームオブジェクトがダメージを受けた時にトリガーされるイベントです。
- On Die ― ゲームオブジェクトの体力が 0 になった時にトリガーされるイベントです。
- On Gain Health ― ゲームオブジェクトが体力を回復した時にトリガーされるイベントです。
- Persistent Type ―「データ・パーシステンス」の項をご覧ください。
- Data Tag ― 「データ・パーシステンス」の項をご覧ください。
Checkpoint
Checkpoint は Project ウィンドウの Prefabs > SceneControl の中にあります。

プレイヤーが Checkpoint コライダーに入る度に、この Checkpoint がアクティブになります。水に落ちた時(または Force Respawn の設定が有効になった Damager から攻撃を受けた時)に、この Checkpoint からプレイヤーが復活します。
(注)プレイヤーはゲームオブジェクトの位置から復活しますので、その位置が地上になっていることを確認してください。
6. Moving Platform(動く地面)
Project ウィンドウの Prefabs > Interactables にある、動くプラットフォームのプレハブです。
シーン内に Moving Platform を作成するには、Project ビューから MovingPlatform プレハブを Scene ビューへドラッグしてください。
これには Moving Platform スクリプト、Box Collider 2D、Rigidbody 2D、Platform Effector 2D、および Platform Catcher スクリプトが含まれています。

Platform Catcher スクリプト は、プラットフォーム上のゲームオブジェクトを自由に動かせるようにするものです。通常はこれに変更を加える必要はありません。
このゲームオブジェクトには、Scene ビュー上で、先端にトランスフォームツールの付いた赤い点線が表示されます。これは、プラットフォームの移動経路と移動方向を示すものです。トランスフォームツールを任意の方向にドラッグすると、経路と方向を変えることができます。


- Platform Catcher ― プラットフォームの Platform Catcher Script が自動的に検知されます。通常はこれに変更を加える必要はありません。
- Preview Position ― スライダーを使って、プラットフォームの経路を Scene ビュー上でプレビューできます。
- Start Moving ― 有効にした場合、ステージの読み込みと同時にプラットフォームが動き出します。無効にした場合は、イベントでトリガーする必要があります。
- When becoming visible ― Start Moving の設定が有効になっている場合にのみ利用可能なオプションです。有効にした場合、プラットフォームはステージの読み込みと同時に動き出すのではなく、画面に表示されてから動き始めます。
- Looping ― 移動経路の終点に到達した時のプラットフォームの挙動を設定します。
- BACK_FORTH ― 開始点と終点の間を往復します。
- LOOP ― 経路の終点に到達しても折り返さずに、経路の続きを開始点まで進みます。開始点に戻ると同じサイクルを繰り返します(ループ状の経路になります)。
- ONCE ― 終着点に到達するとそこで停止します。
- Speed ― (初期設定:2) プラットフォームの移動速度(ユニット/秒)です。

- Add Node ― プラットフォームの経路にノード(あるいは、目的地点)を 1 つ追加します。プラットフォームはノードからノードへ移動します。
- Node 0 ― プラットフォームの位置です。削除することはできません。 変更不可であるため、位置の設定はありません。
- Wait Time ― プラットフォームが次のノードに向かって動き出すまでの待機時間の長さです。
- Node 1 ― ひとつ目の経路および目的地です。これは初期設定で常に含まれます。
- Position ― (ローカル空間における)ノードの位置です。
- Delete ― ノードを削除するボタンです。
- Wait Time ― プラットフォームが次のノードに向かって動き出すまでの待機時間の長さです。
Node(ノード)が 2 つあるプラットフォームは、Scene ビューでは以下のように表示されます。

7. インタラクションシステム
プレイヤーとゲームオブジェクトのインタラクションを可能にするシステムです。これは、以下の 3 つのコンポーネントによって行われます。
- InteractOnCollision2D
- InteractOnTrigger2D
- InteractOnButton2D
インタラクションが行われるためには、ゲームオブジェクトが Collider 2D コンポーネントを持っていることが必要となります。コライダーとはゲームオブジェクトの周りの目に見えない領域で、この領域に何かが接触したり侵入したりするとそれが検知されます。本キット内で使用されている主なコライダーの種類は、ボックス(Box Collider 2D)、カプセル(Capsule Collider 2D)、サークル(Circle Collider 2D)です。
これらのコライダーは、本キット内の各種プレハブには事前にセットアップされています。
ゲームオブジェクトに各種インタラクションを新しく追加したい場合や、独自のインタラクションを作成したい場合は、選択した InteractOn コンポーネント(以下の項目参照)に照らし合わせて、そのゲームオブジェクトのコライダーの Is Trigger チェックボックスを必ず確認してください。本ドキュメントでは、各種 InteractOn コンポーネントでコライダーがどのstate内にあるべきかに関する情報も提供しています。

Interact On Collision 2D
ゲームオブジェクトのコライダーの接触時にイベントをトリガーするために使用します。

- Script ― 使用されているスクリプトの名前です(変更不可)。
- Layers ― 選択されている レイヤー 上のゲームオブジェクトのみがイベントをトリガーします。
- On Collision ― このリストに含まれたイベントは、設定されているレイヤー上のゲームオブジェクトが衝突した時にトリガーされます。
(自分で作成する際、コライダーの Is Trigger を有効にする必要はありません。)
Interact On Trigger 2D
ゲームオブジェクトがコライダー内に入った時にイベントをトリガーし、コライダーの外に出た時に更にイベントをトリガーするために使用されます。
(自分で作成する際、Collider コンポーネントの Is Trigger を必ず有効にしてください。)

- Script ― 使用されているスクリプトの名前です(変更不可)。
- Layers ― 選択されている レイヤー 上のゲームオブジェクトのみがイベントをトリガーします。
- On Enter ― このリストに含まれたイベントは、設定されたレイヤー上のゲームオブジェクトがトリガーに入った時に実行されます。
- On Exit ― このリストに含まれたイベントは、設定されたレイヤー上のゲームオブジェクトがトリガーの外に出た時に実行されます。

- Inventory Checks ― トリガーに入って来るゲームオブジェクトのインベントリ内にゲームオブジェクトがある場合にだけイベントが実行されるようにすることができます(例えば、トリガーゾーンに入ったプレイヤーがインベントリ内に Key(鍵)を持っている場合にのみ扉を開くなど)。
- Size ― 数字を大きくすると、トリガーに必要なインベントリの数が増えます。デフォルトでは 0 に設定されています。
- Element 0 ― 最初の Inventory Check です。
- Inventory Items ― 衝突するゲームオブジェクトのインベントリ内に必要なゲームオブジェクトです。
- Size ― トリガーする側のゲームオブジェクトのインベントリ内に必要なアイテムの数です。
- Element 0 ― 最初に必要となるインベントリアイテムです。これは、アイテムの識別名(「インベントリシステム」の項をご参照ください)と一致している必要があります。
- On has Item ― ゲームオブジェクトのインベントリ内に、Inventory Items に設定されたすべてのアイテムが揃っている場合にトリガーされるイベントです。
- On Does Not Have Item ― ゲームオブジェクトのインベントリ内に、Inventory Items に設定されたすべてのアイテムが揃っていない場合にトリガーされるイベントです。
Interact On Button 2D
ゲームオブジェクトがトリガーゾーン内にある状態でプレイヤーがインタラクトボタンを押した時にイベントをトリガーするために使用されます。(インタラクトボタンについての詳細は、「Player Input」 の項をご覧ください。)
(自分で作成する際、Collider コンポーネントの Is Trigger を必ず有効にしてください。)

- Script ― 使用されているスクリプトの名前です(変更不可)。
- Layers ― 選択されたレイヤー上のゲームオブジェクトのみがイベントをトリガーします。
- On Enter ― このリストに含まれたイベントは、設定されたレイヤー上のゲームオブジェクトがトリガーに入った時に実行されます。
- On Exit ― このリストに含まれたイベントは、設定されたレイヤー上のゲームオブジェクトがトリガーの外に出た時に実行されます。
- Inventory Checks ― トリガーに入ってインタラクトボタンを押したゲームオブジェクトのインベントリ内にゲームオブジェクトがある場合にのみイベントが起こるようにすることができます(例えば、インベントリ内に鍵を持つプレイヤーがトリガーに入ってインタラクトボタンを押した場合にのみ扉を開くなど)。
- Size ― この数を大きくすると、トリガーに必要となるインベントリの数が増えます。デフォルトでは 0 に設定されています。
- Element 0 ― 最初の Inventory Check です。
- Inventory Items ― 衝突するゲームオブジェクトのインベントリ内に必要なゲームオブジェクトです。
- Size ― トリガーする側のゲームオブジェクトのインベントリ内に必要なアイテムの数です。
- Element 0 ― 最初に必要となるインベントリアイテムです。これは、アイテムの識別名(「インベントリシステム」の項をご参照ください)と一致している必要があります。
- On Button Press ― インタラクトボタンが押された時にトリガーされるイベントです。
8. インベントリシステム
インベントリシステムは、Inventory Controller コンポーネントと Inventory Item の 2 つの要素によって構成されています。
Inventory Controller はインベントリを持つゲームオブジェクトに追加します。Inventory Item スクリプトは、収集されるアイテムに追加します。例えば、 Ellen(Inventory Controller)が Key(鍵)(Inventory Item)を収集します。
Inventory Controller は、Inventory Item のコライダーとの接触によって自動的にそのアイテムを収集することができます。また、ゲームオブジェクトが収集された時と削除された時に起こるアクションを定義します。
Inventory Controller
このコンポーネントは、インベントリ内に入れることが可能な各アイテムのエントリを含んでおり、キャラクターや宝箱や店にアタッチすることができます。

- Inventory Events ― インベントリに追加された特定のゲームオブジェクトに起こるイベントのリストです。新しいイベントを追加する場合は、この数字を大きくしてください。([ヒント]イベントを削除するには、リスト内の名前の上で右クリックして Delete Array Element を選択してください。)。 *
- Key ― Inventory Item(鍵、拳銃、こん棒など)の固有識別子です。これは収集されるアイテムの Inventory Item コンポーネント内の Key に一致している必要があります。インベントリ内には、同じゲームオブジェクトのインスタンスは 1 つしか存在できません。Inventory Controller 内の Add イベントは、同じ Key を持つゲームオブジェクトが既にインベントリ内に存在する場合には呼び出されません。
- OnAdd ― アイテムがインベントリに追加された時にトリガーされるイベントです。
- OnRemove ― アイテムがインベントリから削除された時にトリガーされるイベントです。
- Data Settings ― 詳細は「データ・パーシステンス」の項をご覧ください。
アイテムの Key (つまりアイテムにアサインされた固有識別子)と、ゲーム中で使用する収集ゲームオブジェクトの「Key」(鍵)とを混同しないようにご注意ください。本ドキュメントでは区別しやすいように固有識別子は太字で記載しています。
Inventory Item
インベントリ内に含むことのできるすべてのアイテムは Inventory Item コンポーネントを持っている必要があります。このコンポーネントは、そのアイテムの Key と Audio Clip、そしてそのアイテムを収集できるレイヤーを指定します。
InventoryItem は、該当アイテムのゲームオブジェクトに追加されるコンポーネントです。これは Circle Collider 2Dを 1 つ必要とし、設定されてない場合は自動的に 1 つ追加されます。このコライダーによってプレイヤーとゲームオブジェクトとの接触が検知できるようになり、トリガーが可能となります。
ゲームオブジェクトの状態(アクティブかどうか)が保存されるので、シーンが再読み込みされてプレイヤーがゾーンに再び入った時に、同じ状態が再現されます。

- Inventory Key ― アイテムの固有名(「Key1」など)です。アイテムが既に所有されているかどうかを把握するためにインベントリによって使用されます。
- Layers ― アイテムを収集するゲームオブジェクトが属するレイヤーです。
- Disable On Enter ― チェックマークを入れると、ゲームオブジェクトが収集されると同時に無効化されるようになります。
- Clip ― アイテムが収集された時に再生されるオーディオクリップです。空になっている場合は一切クリップが再生されません。
- Data Settings ― 詳細は「データ・パーシステンス」の項をご覧ください。
9. HubDoor(条件を満たすと開く扉)
このコンポーネントは、収集されたインベントリアイテムの数に応じてゲームオブジェクトのスプライトを変更するために使用されます。
すべてのアイテムが収集されると On Unlocked 関数が呼び出されます。下の例では、収集される 3 つのインベントリアイテムは Key1、Key2、Key3 です。インベントリ内のアイテムが 1 つ収集される度にスプライトが変わります。
Interact On Trigger 2D と Interact On Button 2D も、このコンポーネントの条件が満たされたかどうかを検知することができます。

- Required Inventory Item Keys ― 収集される必要のあるゲームオブジェクトの Key のリストです。すべて収集されると On Unlocked イベントを呼び出します。
- Size ― 収集される必要のあるアイテムの数です。Size の設定数が増えると以下の Element の数も増えます。
- Element ― 収集されるゲームオブジェクトの Key です。
- Unlock State Sprites ― アイテムの収集時に表示されるスプライトのリストです。スプライトは数字の順に変わります。
- Size ― スプライトのスロットの数です。
- Element ― インベントリアイテムが収集された時にゲームオブジェクトの見た目を変化させるスプライトです。
- Key Director Trigger ― 設定されていれば Director シーケンスをトリガーします。
- Character Inventory ― Inventory Controller を持つゲームオブジェクトです。収集状況をトラッキングするために使用されるコンポーネントです。
- On Unlocked ― すべてのアイテムが収集されてスプライトが変更された時にトリガーされるイベントです。
- Data Settings ― 詳細は「データ・パーシステンス」の項をご覧ください。
10. Enemy Spawner(敵の出現ポイント)
Enemy Spawner プレハブは、Project ビュー内の Prefabs > Enemies にあります。このプレハブは、シーン内に配置された場所における複数の敵の生成を制御します。

- Prefab ― 生成される敵のプレハブです。
- Initial Pool Count ― プール内に含まれる敵の数です。同時生成が必要な敵の数を値として設定することをお勧めします。
- Total Enemies To Be Spawned ― Enemy Spawner が敵の生成を停止するまでに生成できる敵の数です。
- Concurrent Enemies to be spawned ― Enemy Spawner が同時に生成できる敵の数です。例えば、この値が 5 で「Total Enemies To Be Spawned」の値が 10 であれば、5 体の敵が生成されます。1 体が死ぬと、既に生成された数が 10 体に達していない限り、また 1 体新しく生成されます。
- Spawn Area ― Enemy Spawner の設定位置を中心に広がる生成領域の大きさです。この領域内のランダムな位置から敵が生成されます。Scene ビューでは、設定位置の周囲に白い長方形ギズモとして表示されます。

- Spawn Delay ― 敵が死亡してから次の敵が生成されるまでの時間の長さです。
- Removal Delay ― 敵がゲーム中から居なくなってからプールに戻されるまでの時間の長さです。