NewInputSystemにデバイスを追加する

参考元:

新しくデバイスを追加する

PS4のコントローラーを追加する


NewInputSystemの入力元として、アセットとかで買ったサードパーティの入力APIを追加したいときについてです。

LeanTouchをNewInputSystemのタッチ入力として使うつもりで実装していきます。

Touchだけなら既に実装されていますが。


とりあえずコード

次のファイルはLeanTouchを持ったオブジェクトと一緒につけます。

これで何とか最低限の実装は出来ました。値の設定については適当です。OnUpdate内を必要なように実装する必要があります。

ステップとしては

  1. 入力を受け取るデータを「構造体」として定義する
  2. InputActionアセットで表示する情報をInputSystem.RegisterLayout()を使って実装する
  3. InputSystem.AddDevice()を使って使うデバイスをInputSystemに登録する

のような感じになりました。

今回は新しくデバイスを追加しましたが、レイアウトを追加するだけなら別にやり方があるかもしれません。Touchのデバイス自体は標準で用意されているので、それに追加する感じで実装できたらもっと楽にできるのかも。


NewInputSystem自体の使い方はすでにいくつか情報がありますので省略しました。


別にそのままLeanTouchを使っても良いんですが、AndroidだけじゃなくSteamでも公開したいなと思っていたので、コントローラの差を吸収してくれるNewInputSystemを使ってみようと思いました。

InputActionを介して入力処理を実装すればとりあえず入力自体はInputActionアセットを変更するだけでよくなります。

理解できればそこまで大変ではないかもしれません。でも面倒は面倒です。使いまわせるように出来たら良いんですが。