LoginSignup
2
0

More than 3 years have passed since last update.

Unreal Engine 4.24 で ThirdPerson プロジェクトのキャラクタ操作のキーの割り当てを変更する

Last updated at Posted at 2020-06-15

Unreal Engine 4 の ThirdPerson テンプレートでプロジェクトを作ると、デフォルトで WASD キーで移動、スペースキーでジャンプするように割り当てられています。このキーの割り当て(キーバインド)を変更する方法についてメモしておきます。

なお、ThirdPerson 以外のテンプレートでも同じ方法で変更できます。マウスのボタン割り当てや、Oculus、Valve Index などのコントローラのボタンの割り当て、ゲームパッドのボタンの割り当てなども同じ方法でできます。

前提

  • Unreal Engine 4.24 (多分 4.25 でも同じ)
  • Windows 10 Home/Pro
  • ThirdPerson テンプレートを使ってプロジェクトを作成

ThirdPerson テンプレートでプロジェクト作成は、下記URLの記事の通りにやります。

下の画面がでるところまでできたらOKです。

image.png

手順

image.png

メインメニューの「編集」から「プロジェクト設定」を選びます。

image.png

「エンジン」の中にある「インプット」を選びます。

右に Bindings という項目があるので、そこの下の 「アクションマッピング」とか「軸マッピング」とかを開くと、アクションに割り当てられているキーや、ゲームパットのボタンなどの一覧が表示されます。

image.png

たとえは、こんな感じで「前に移動」のキーをWからカーソルの上キーに変更できます。追加する場合は、アクション名の右にある+を押して追加します。

基本的に、これだけです、知っていればものすごく簡単なのですが、知らないと永遠にわからない系のやつです。

アクションの追加

アクションを自分で追加したい場合は、アクションマッピングの横にある+を押して、アクション名を入れて、バインドしたいキーとかボタンを指定します。

image.png

上の例では、Enfire という名前のアクションを追加し、Xキーを割り当てています。

image.png

プロジェクト設定画面でアクションを登録すると、ブループリントエディタの中で、登録したアクション名に対応するイベントを、メニューから追加できるようになります。

image.png

たとえば、ThirdPersonCharacter のブループリントクラスのイベントグラフに、こんなふうにイベントと処理内容を追加してやると、

image.png

Xキーを押すと画面に Fire と表示されすようになります。

image.png

同じことは、キーを押すイベントを拾うことでもできます。イベントグラフで右クリックしてから、「インプット」「キーボードイベント」と選んで、キーを選ぶことで、キーを押したときと離した時のイベントが拾えます。

image.png

例えば、これは Y キーが押されたときに、Ice と画面に表示させるようにしたものです。

image.png

プレイしてから Y キーを押しまくると、上のように Ice と表示されまくります。ただし、このキーイベントを直接拾う方法だと、同じアクションにキーボード、マウス、ゲームパッド、VRデバイスなどの複数のボタンやキーを割り当てたい場合に面倒になります。キーバインドを変更したい場合にもかなり面倒です。

プロジェクト設定からなら、一括で同じアクションにキーを割り当てられるので、キーに対応したイベント(アクション)を追加する場合は、個別にイベントを作成するのではなく、プロジェクト設定のところで割り当てるのが良いようです。

しかし、公式では普通にキーのイベント拾う方法の記事ばかり検索で出てきて、この記事見つけるのにめっちゃ苦労しましたよ!!これ以上不幸な人が出ないように、ここにメモしておきます。

対応する公式記事は下記です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0