EventSystemはキーボード,マウス,タッチやカスタムの入力に基づいて,アプリケーション内のオブジェクトにイベントを送信する方法です。EventSystemはイベントを送信するために協調する,いくつかのコンポーネントで構成されています。
あなたがゲームオブジェクトにEventSystemコンポーネントを追加するとき,それは多くの機能が露出していないことに気付くでしょう。これはEventSystem自身がEventSystemモジュール間の通信の管理者と進行役として設計されているからです。
EventSystemの主な役割は以下のとおりです。
入力モジュールは,EventSystemをどのように動作させたいのかという主な論理を生かすところであり,以下のために使われます。
InputModuleは,一度に一つだけEventSystemをアクティブにすることができ,EventSystemコンポーネントと同じゲームオブジェクト上のコンポーネントでなければなりません。
カスタム入力モジュールを記述したい場合,あなたがUnityで既存のUIコンポーネントでサポートしているイベントを送信することをお勧めしまが,メッセージングシステムのマニュアルで説明しているように,あなたも拡張して独自のイベントを書き込むことができます。
Raycasterは,ポインタが上にあるかどうかを把握して送信するために使用され,InputModulesはシーンの中でポインティングデバイスが上にあるか計算するようにRaycasterを設定させることに使うのが一般的です。
デフォルトでは3つのRaycasterが設けられています:
あなたのシーンに構成された2D/3D Raycasterがある場合,UI要素がInputModuleからのメッセージを容易に受信しないことが可能です。単にイベントのいずれかのインタフェースを実装したスクリプトを添付します。