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