GameProgrammar's Night

ゲームプログラム系の覚え書き

PlayStation4のコントーラをWindowsで使う時の開発側の注意点

 PS4がアップデートされて、PCからリモートプレイができるようになりました。
 それに合わせて、PS4コントローラをPCにUSB接続するだけで、ゲームパッドとして利用することができるようにもなりました。そのため、これからPCゲームをPS4コントローラで遊ぶ人が増えると思います。
 UEDirectInputPadPluginでPS4コントローラを使った所、キーコンフィグBPがちゃんと動かないと言われまして調査しました。

 その結果、開発側としては、考慮しておいた方が良い事項がありましたので、書いておきたいと思います。

PS4コントローラ

  • DirectInputで動作している
  • L2/R2ボタンは、回転軸とボタンの両方にマッピングされている
    • L2はX回転と7ボタン
    • R2はY回転と8ボタン
    • 回転は-1.0(押されてない)~1.0(一番下まで押し込む)の範囲の値が取得される*1

f:id:katze_7514:20160806154518p:plain

 1つのボタンで2つ値が返ってくるので、キーコンフィグを作る時にはちょっと頭にいれて置くと良いと思います。

 PS4コントローラが意図している所は理解できるんですが、どうせならXInputで動くようにしてくれれば良いのにね……。と思ったのですが、タッチパッドの情報を使うためにDirectInputにしているのかもしれません。PSボタンは13ボタン、タッチパッドボタンは14ボタンに割り当てられています。

*1:XInputのLT/RTは0.0~1.0