インタラクションシステム

確認済のバージョン: 2017.3

-

難易度: 初級

プレイヤーとゲームオブジェクトのインタラクションを可能にするシステムです。これは、以下の 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 ― インタラクトボタンが押された時にトリガーされるイベントです。