Input System(v1.0.0)でマウス座標取得【Unity】

Player InputのSend Messages / Broadcast Messagesを用いて、マウス座標をコンポーネントで受け取ります。

InputSystemの勉強の続きです。

名前空間

using UnityEngine.InputSystem;

Actionsとの関係(Messagesを受け取る)

Actionsで「Pos」という名前で「Vector2」のMessageを受け取る場合

「OnPos」として受け取る。

Actionsとの関係

値を受けるだけであれば、以下のように書いても同じです。

public void OnPos(InputValue value) => pos = value.Get<Vector2>();

サンプルコード

マウス座標取得テスト

Send Messages / Broadcast Messagesの違い

Send Messages:取り付けたオブジェクト内のコンポーネントへメッセージを送る。

Broadcast Messages:子階層のオブジェクトにもメッセージを送る。

上のサンプルコード

上のサンプルコード

TextObj : TextMeshProのGameObjectを指定

オブジェクトの構成例

オブジェクトの構成例

TextはTextMeshProのオブジェクト

コードのテスト

「ParentObject」の位置に「Player Input」を取り付けてマウス座標を送る。

Send Messagesの場合

Behavior をSend Messagesにする。

Broadcast Messagesの場合

Behavior をBroadcast Messagesにする。

バージョン情報

Unity 2019.3.13f1

Input System Version 1.0.0

参考

GameObject components for input | Input System | 1.0.2

コメント

タイトルとURLをコピーしました