ログファイル
Messaging System

イベントシステム

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

概要

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

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

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

入力モジュール

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

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

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

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

Raycaster

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

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

  • GraphicRaycaster - UI要素のために使われます
  • 2DPhysicsRaycaster - 2D物理要素のために使われます
  • 3DPhysicsRaycaster - 3D物理要素のために使われます

あなたのシーンに構成された2D/3D Raycasterがある場合,UI要素がInputModuleからのメッセージを容易に受信しないことが可能です。単にイベントのいずれかのインタフェースを実装したスクリプトを添付します。

ログファイル
Messaging System