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