Unity でカーソルキーでキャラを動かす
※ これは 2020/12/04 時点の Unity 2020.1.16f1 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
とりあえず UI の並び替えはひと通り試せたので、今度は別の検証
新しい Unity の InputSystem で単にキャラを動かせるようにするという超基本的なところから始める
こんなドット絵のねこキャラを用意したのでこれをカーソルキーで動かしてみる
まずは新しい InputSystem の初期設定、これは以前やったのと同じ
https://www.matatabi-ux.com/entry/2020/11/05/100000
新しく URP のプロジェクトを作成し、InputSystem
と 2D Sprite
のパッケージをインポート、UnityEditor 再起動後に PlayerSettings の InputSystem 設定
次に Main Camera
と Cat
という GameObject
を作成
Cat
の Inspector の設定はこんな感じ
Cat
の Script は下記を作成
using UnityEngine; using UnityEngine.InputSystem; public class Cat : MonoBehaviour { public void OnMove(InputAction.CallbackContext context) { var move = context.ReadValue<Vector2>(); this.transform.Translate(move * 0.25f); } }
Sprite Renderer
は白ねこの Sprite を貼り付けただけ
Player Input
は今回の本題で、新しい Input System を簡単に扱えるようにしてくれる便利クラス
このコンポーネントの追加直後にはこんな感じに「Create Actions」ボタンが表示されるのでこれを押下してデフォルトの Input Action Asset
ファイルを作成して設定する
他は Default Scheme
に Keyboard&Mouse
、Default Map
に Player
、Behavior
に Invoke Unity Events
を指定して、Events
の中の Player
、Move
のイベントハンドラに Cat.OnMove
を設定
これでカーソルキーの入力がとれるらしいのでお試し
はい、とりあえず動いた!