Unreal Engine 4 の ThirdPerson テンプレートでプロジェクトを作ると、デフォルトで WASD キーで移動、スペースキーでジャンプするように割り当てられています。このキーの割り当て(キーバインド)を変更する方法についてメモしておきます。
なお、ThirdPerson 以外のテンプレートでも同じ方法で変更できます。マウスのボタン割り当てや、Oculus、Valve Index などのコントローラのボタンの割り当て、ゲームパッドのボタンの割り当てなども同じ方法でできます。
前提
- Unreal Engine 4.24 (多分 4.25 でも同じ)
- Windows 10 Home/Pro
- ThirdPerson テンプレートを使ってプロジェクトを作成
ThirdPerson テンプレートでプロジェクト作成は、下記URLの記事の通りにやります。
下の画面がでるところまでできたらOKです。
手順
メインメニューの「編集」から「プロジェクト設定」を選びます。
「エンジン」の中にある「インプット」を選びます。
右に Bindings という項目があるので、そこの下の 「アクションマッピング」とか「軸マッピング」とかを開くと、アクションに割り当てられているキーや、ゲームパットのボタンなどの一覧が表示されます。
たとえは、こんな感じで「前に移動」のキーをWからカーソルの上キーに変更できます。追加する場合は、アクション名の右にある+を押して追加します。
基本的に、これだけです、知っていればものすごく簡単なのですが、知らないと永遠にわからない系のやつです。
アクションの追加
アクションを自分で追加したい場合は、アクションマッピングの横にある+を押して、アクション名を入れて、バインドしたいキーとかボタンを指定します。
上の例では、Enfire という名前のアクションを追加し、Xキーを割り当てています。
プロジェクト設定画面でアクションを登録すると、ブループリントエディタの中で、登録したアクション名に対応するイベントを、メニューから追加できるようになります。
たとえば、ThirdPersonCharacter のブループリントクラスのイベントグラフに、こんなふうにイベントと処理内容を追加してやると、
Xキーを押すと画面に Fire と表示されすようになります。
同じことは、キーを押すイベントを拾うことでもできます。イベントグラフで右クリックしてから、「インプット」「キーボードイベント」と選んで、キーを選ぶことで、キーを押したときと離した時のイベントが拾えます。
例えば、これは Y キーが押されたときに、Ice と画面に表示させるようにしたものです。
プレイしてから Y キーを押しまくると、上のように Ice と表示されまくります。ただし、このキーイベントを直接拾う方法だと、同じアクションにキーボード、マウス、ゲームパッド、VRデバイスなどの複数のボタンやキーを割り当てたい場合に面倒になります。キーバインドを変更したい場合にもかなり面倒です。
プロジェクト設定からなら、一括で同じアクションにキーを割り当てられるので、キーに対応したイベント(アクション)を追加する場合は、個別にイベントを作成するのではなく、プロジェクト設定のところで割り当てるのが良いようです。
しかし、公式では普通にキーのイベント拾う方法の記事ばかり検索で出てきて、この記事見つけるのにめっちゃ苦労しましたよ!!これ以上不幸な人が出ないように、ここにメモしておきます。
対応する公式記事は下記です。