コントローラーに対する設定
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コントローラーなどで、この対応が異なるため、多くのコントローラーに対応しようとすると、設定画面などで、それぞれのコントローラーに合わせてユーザーに調整してもらう必要が発生します。
