Unityのゲームをゲームパッド(Xboxコントローラー限定)に対応させる方法

ゲームパッドでUnityのゲームを動かそう

上記を参考に、とりあえず上下左右の動きをXboxコントローラーからとれるようにした。
Xboxコントローラー以外の対応は面倒くさいので試していない。

		if (Input.GetKey("right")) { // もし、右キーが押されたら
			// 移動処理
		}

のように、キー入力をとっている部分を

		if (Input.GetKey("right") || Input.GetAxis("Horizontal") > 0) { // もし、右キーが押されたら
			// 移動処理
		}

として、ゲームパッドの左スティックの入力も取るようにすればいい。
上下左右の対応後は以下。

		if (Input.GetKey("right") || Input.GetAxis("Horizontal") > 0) { // もし、右キーが押されたら
			// 移動処理
		}
		if(Input.GetKey("left") || Input.GetAxis("Horizontal") < 0) { // もし、左キーが押されたら
			// 移動処理
		}
		if(Input.GetKey("up") || Input.GetAxis("Vertical") > 0) { // もし、上キーが押されたら
			// 移動処理
		}
		if(Input.GetKey("down") || Input.GetAxis("Vertical") < 0) { // もし、下キーが押されたら
			// 移動処理
		}

これで、キーボードの上下左右キーの動きを、左スティックでも取ることができるようになる。

左スティックの入力量に対応した移動量の変化も冒頭のサイトを熟読すればいけそう。
ちなみに、左スティックの対応に関しては、InputManagerを修正する必要はなかった。

参考までにUnity公式のそれっぽい部分は

一般的なゲーム入力

となる。

コメントを残す

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