コントローラーに対する設定
Unity上の設定
コントローラーの設定はUnityの上部メニューから「Edit」→「Project Settings」→「Input」をクリックすることで確認できます。
Inspectorウィンドウに「InputManager」が表示されました。InputManagerの「Axes」→「Horizontal」を展開すると以下の画像のようにAxis項目に「X axis」と表記されています。
この「X axis」に対応したコントローラー操作がXBox 360コントローラーのLスティックを左右に動かす操作と対応しているため、コントローラーの操作でキャラクターを動かすことができます。
プログラムコードの以下の部分が該当する処理です。
// 左右のキーで左右に移動 float horizontal = Input.GetAxis("Horizontal");
各キーの割り当て
PCでゲームコントローラーを利用するためには上記のようにコントローラーのボタンとUnity上の入力の対応を知る必要があります。それぞれの対応は以下のなります。
Unity上の入力 | XBox 360コントローラー |
---|---|
joystick button 0 | Aボタン |
joystick button 1 | Bボタン |
joystick button 2 | Xボタン |
joystick button 3 | Yボタン |
joystick button 4 | LBボタン |
joystick button 5 | RBボタン |
joystick button 6 | Backボタン |
joystick button 7 | Homeボタン |
joystick button 8 | Lスティックを押す |
joystick button 9 | Rスティックを押す |
X axis | LスティックのX軸方向 |
Y axis | LスティックのY軸方向 |
3rd axis | LT or RTボタン |
4th axis | RスティックのX軸方向 |
5th axis | RスティックのY軸方向 |
6th axis | 十字キーのX方向 |
7th axis | 十字キーのY方向 |
市販のPC用のコントローラーやPS3コントローラーなどで、この対応が異なるため、多くのコントローラーに対応しようとすると、設定画面などで、それぞれのコントローラーに合わせてユーザーに調整してもらう必要が発生します。