イベントシステムはキーボード、マウス、タッチやカスタムの入力に基づいて、アプリケーション内のオブジェクトにイベントを送信する方法です。イベントシステムはイベントを送信するために協調する、いくつかのコンポーネントで構成されています。
ゲームオブジェクトに Event System (イベントシステム) コンポーネントを追加すると、多くの機能が表示されていないことに気付くでしょう。これはイベントシステム自体がイベントシステムモジュール間の通信の管理と進行の機能として設計されているからです。
イベントシステムの主な役割は以下のとおりです。
Input Module (入力モジュール) は、イベントシステムをどのように動作させたいのかという主な論理の基礎となっており、以下のために使われます。
入力モジュールは、イベントシステム内で一度に 1 つだけアクティブにすることができます。また、Input Module コンポーネントは Event System コンポーネントと同じゲームオブジェクト上になければなりません。
カスタムの入力モジュールを作成したい場合は、Unity の既存の UI コンポーネントがサポートするイベントを送信します。独自のイベントを拡張して作成するには、メッセージシステム の ドキュメントを参照してください。
Raycaster (レイキャスター) は、ポインターが何の上に重ねられているかを調べるために使用されます。入力モジュールがシーンの中でレイキャスターを設定し、ポインターがなにに重ねられているかを計算するのは、良くあることです。
デフォルトでは 3 つのレイキャスターが設けられています。
シーンで 2D/3D のレイキャスターを設定している場合は、UI 以外の要素に Input Module からメッセージを受信させることは簡単です。イベントインターフェースの 1 つを実装するスクリプトをアタッチするだけで行えます。この例は、IPointerEventHandle と IPointerClickHandler のスクリプティングリファレンスページを参照してください。