ゲームパッドの設定
はじめに
審査用のゲームパッドは ELECOM JC-U3613MBK を使用します。このゲームパッドは「Xinput 」「 DirectInput」両方の接続形式に対応しています。もし、接続形式がDirectInputの他のゲームパッドを使用される場合には、以下に記載する審査用ゲームパッドの仕様を参考にスティックやボタンの配置をご検討下さい。
審査用ゲームパッドのボタンナンバー
Input Manager の場合
番号 コントローラーの部位 Unity側で対応する軸やボタン 値 1 左スティック(左右) axis1 -1~1(左Maxが-1、右Maxが1) 左スティック(上下) axis2 -1~1(上Maxが-1、下Maxが1) 左スティック(押し込み) button8 10 右スティック(左右) axis3 -1~1(左Maxが-1、右Maxが1) 右スティック(上下) axis4 -1~1(上Maxが-1、下Maxが1) 右スティック(押し込み) button9 9 ※1 方向パッド(左) axis5 -1 方向パッド(右) axis5 1 方向パッド(下) axis6 -1 方向パッド(上) axis6 1 2 BACKボタン button10 3 STARTボタン button11 4 Guideボタン button12 5 Xボタン button0 6 Yボタン button1 7 Aボタン button2 8 Bボタン button3 11 Lボタン button4 12 Rボタン button5 13 Lトリガー button6 14 Rトリガー button7
※1 方向パッドでの斜め入力時には 0.6384034 などの中途半端な値を返す様なので以下の様に実装して下さい。
var h = Input.GetAxis("axis5");
var v = Input.GetAxis("axis6");
if (h < -0.5f && v < -0.5f)
{
Debug.Log("左下");
}
if (h < -0.5f && v > 0.5f)
{
Debug.Log("左上");
}
if (h > 0.5f && v < -0.5f)
{
Debug.Log("右下");
}
if (h > 0.5f && v > 0.5f)
{
Debug.Log("右上");
}
Input System の場合
番号 コントローラーの部位 Unity側で対応する軸やボタン 値 1 左スティック(左) <Joystick>/stick/left 0~1(左Maxが1) 左スティック(右) <Joystick>/stick/right 0~1(右Maxが1) 左スティック(上) <Joystick>/stick/up 0~1(上Maxが1) 左スティック(下) <Joystick>/stick/down 0~1(下Maxが1) 左スティック(押し込み) <Joystick>/button9 10 右スティック(左右) <Joystick>/z -1~1(左Maxが-1、右Maxが1) 右スティック(上下) <Joystick>/rz -1~1(上Maxが-1、下Maxが1) 右スティック(押し込み) <Joystick>/button10 9 方向パッド(左) <Joystick>/hat/left 方向パッド(右) <Joystick>/hat/right 方向パッド(下) <Joystick>/hat/down 方向パッド(上) axis6 2 BACKボタン <Joystick>/button11 3 STARTボタン <Joystick>/button12 4 Guideボタン <Joystick>/button13 5 Xボタン <Joystick>/trigger 6 Yボタン <Joystick>/button2 7 Aボタン <Joystick>/button3 8 Bボタン <Joystick>/button4 11 Lボタン <Joystick>/button5 12 Rボタン <Joystick>/button6 13 Lトリガー <Joystick>/button7 14 Rトリガー <Joystick>/button8