Unityでゲームパッド(コントローラ)を使う方法

パッドを入力として使う方法を試してみた。
以下のそめ先生のブログを参考にしました。
http://inter-high-blog.unity3d.jp/2017/07/04/gamepad/

インプットマネージャーによってインプットを管理しているようです。
インプットマネージャーは Edit > Project Setting > Input から開くことができます。

こやつです

デフォルトで18個のインプットが初期設定されています。
今回使用するゲームパッドの右スティック用インプットを追加します。
インプット数は Size 項目の値を変えることで変更できます。

ただインプット数を追加しただけでは”Cancel”といった名前のインプットしか追加されません。
このインプットを自分好みにカスタマイズしていきます。
画像上の”R_Horizontal”と”R_Vertical”が今回追加変更したインプットです。
主に変えた所は以下

Name:”R_Horizontal”に変更、後にこの名前を用いて値を参照します。
Dead:ここで設定した値(0.19)までの入力を殺してくれます。
これを設定しないとごくごくわずーかなスティックの傾きも検知してしまい
止まってるつもりでも微妙に動いたりしてします。
とりあえず0.19を設定しているが適正値は要検証。
Type:ゲームパッド用なんで”Joystick Axis”を設定
Axis:”3rd Axis”を設定、ゲームパッドのどの入力を使うか設定します。
私の現環境ではこの設定で右スティックの水平方向を検知してくれる。
しかし、パッドが違ったりOSが違ったりすると変わってくるらしい。
なんと厄介な、キーコンフィグを実装しないとね。

他の値の設定値についても以下のマニュアルを見れば分かる。
https://docs.unity3d.com/ja/550/Manual/class-InputManager.html

んで、早速用意した”R_Horizontal”と”R_Vertical”を以下のようにインプットとして使用。

これでインプットをfloat型にできれば後は好きにできるよね!
これで右スティック、左スティック両方を使えるようになりました。
(初期設定の状態で左スティックは使えていた)

ゲームパッドを使うとただ動かしてるだけで楽しい。
以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です