GameProgrammar's Night

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

UE4 .15 preview1 RawInputのコードをざっと読んでみた

 RawInputとは、PCにつながっている入力デバイスの生データを取得するAPIです。
 UE4.15からサポートされることが決まり、DirectInputのみのゲームパッドもこれで動くかなと思いまして、少し該当部分のソースを読んでみました。
 速報ということで、読み取れたことを箇条書きします。

機能

  • プラグイン扱い
    • デフォルトではOFFになっているので、ONにする必要があります
  • ジョイスティック(もしくはそれに類する)デバイスのみの対応(HID Usage=0x04)
  • 8軸、12ボタンまで
  • 軸の値は、「-1.0~1.0」にClampされる
    • 元は生データですので実値は各デバイスに異なるため必要な処理です。
  • キーイベントの名称は、「GenericUSBController_***」
    • ***には、Axis1とかButton1とかが入る
  • キーイベントが全体で一つだけ
  • バイスごとの入力を設定は、[ProjectSettings]→[Plugins]→[RawInput]のConfigurationでできる
    • BPへは公開されてないので動的な変更はできない。ActionMappingと同じポリシーの様子
    • フォーラムで各入力デバイスのこの設定を募集しています
  • ControllerID(=PlayerIndex)は、0固定
    • CreatePlayerで2Pキャラクターを作ってもRawInputでの入力取得はできない
  • 振動未対応
  • キーリピート未対応

 間違いなどありましたら、ご指摘ください。随時修正します。