Version: 5.5
IL2CPP
メッセージシステム

イベントシステム

EventSystem はキーボード、マウス、タッチやカスタムの入力に基づいて、アプリケーション内のオブジェクトにイベントを送信する方法です。EventSystem はイベントを送信するために協調する、いくつかのコンポーネントで構成されています。

概要

あなたがゲームオブジェクトに EventSystem コンポーネントを追加するとき、それは多くの機能が露出していないことに気付くでしょう。これは EventSystem 自身が EventSystem モジュール間の通信の管理者と進行役として設計されているからです。

EventSystem の主な役割は以下のとおりです。

  • どのゲームオブジェクトを選択するかを管理
  • どの InputModule を使うかを管理
  • Raycast 使用の管理(必要な場合)
  • 必要に応じて、すべての InputModule を更新

入力モジュール

入力モジュールは、EventSystem をどのように動作させたいのかという主な論理を生かすところであり、以下のために使われます。

  • 入力の取り扱い
  • イベントのステート管理
  • シーンオブジェクトにイベントを送信。

InputModule は、一度に一つだけ EventSystem をアクティブにすることができます。また、InputModule コンポーネントは、EventSystem コンポーネントと同じゲームオブジェクト上になければなりません。

カスタム入力モジュールを記述する場合、Unity既存の UI コンポーネントでサポートしているイベントを送信することをお勧めします。また、メッセージングシステムのマニュアルで詳細を説明しているように、独自のイベントを追加することもできます。

レイキャスター

Raycaster は、ポインタが上にあるかどうかを把握して送信するために使用され、InputModule はシーンの中でポインティングデバイスが上にあるか計算するように Raycaster を設定させることに使うのが一般的です。

デフォルトでは 3 つの Raycaster が設けられています。

  • Graphic Raycaster - UI 要素のために使われます
  • Physics 2D Raycaster - 2D 物理要素で使用します。
  • Physics Raycaster - 3D 物理要素で使用します。

シーン内に 2D/3D Raycaster がある場合、UI 要素が InputModule からのメッセージを容易に受け取ることが可能です。これはイベントインターフェースを実装したスクリプトをアタッチするだけです。

IL2CPP
メッセージシステム