【UE5.3:検証】キーコンフィグ「Map Player Key」のSlotについて
皆様、お疲れ様です!
UE5.3 で実験的な機能として登場した Enhanced Input User Settings でキーコンフィグがより扱いやすくなりました。
この機能は UE5.5 で正式対応となりました。
上記画像はキーコンフィグを行う関数「Map Player Key」の "In Args" の構造体を分割した状態です。その中のメンバ変数 Slot について検証を行いました。
この記事は UE5.3.2 を利用しています。
以降のバージョンでも同じように利用できると思いますが、仕様変更等あるかもしれないためご注意下さい。
先に結果を記載しますと「IMC で設定する Mapping Name に対して最大2つまでキーやボタンの割り当てが出来る」役割があります。
利用するための準備3つ
1. プロジェクト設定
この機能を利用するには「プロジェクト設定」>「Enhanced Input」 の中にある "ユーザー設定を有効化(実験段階)" にチェックを入れる必要があります。
UE5.3 から実装されている機能なので、それ以下のバージョンではこの項目は存在しません。
2. IMC の設定
今回の例では、IMC_Default という IMC に IA_Interact を追加し、Eキーでトリガーする設定と、"Player Mappable Key Settings" の名前を KB_Interact に設定しています。
3. Register する
「Map Player Key」関数で利用するには Register する必要があるため、 Blueprint の適切な場所で「Register Input Mapping Context」を使って登録を行うか、「Add Mapping Context」の "Options" ピンを分解すると出てくる "Notify User Settings" を True にすれば Register されます。
「Map Player Key」は Register 出来ていれば利用できるため「Add Mapping Context」はしてなくても良いです。
これで準備は完了です。
「Map Player Key」の基本的な使い方
特に重要な設定は [Mapping Name] [Slot] [New Key] です。
この関数は Register された IMC の中から [Mapping Name] と一致するものを探し、見つかった場合は指定の [Slot]に割り当てたキーを [New Key] に置き換えます。
上記の画像だと IMC_Default が Register されているので、KB_Interact と一致する IA_Interact の Eキーを左クリックに置き換えるという挙動になります。この関数だけでキーコンフィグできるので非常に扱いやすくなりました。
[Slot] についてですが、基本的に First を選ぶことが多くなると思います。
例えば IA_Move を見ると、IA_Move という1つの入力アクションに対して複数のキーを設定していますが、上から順に Slot の First, Second, Third... と並んでいるわけではないようで、IMC で設定するキーはすべて First の Slot が使われているということが分かりました。
また、最大2つ(First, Second) まで利用できることがプルダウン内の説明から確認できますが、Third ~ Seventh はどう使うかは分かりませんでした(プロジェクト設定では該当しそうな項目を見つけられませんでした)
Second Slot の扱いですが、例えばインタラクトを Eキーと左クリックにしたい場合、IMC 内で各キーに名前を付けますが Eキーには KB_Interact、左クリックには KB_Interact2 のように名前を分ける必要が出てきます。(名前は一意でないといけないため重複した名前は設定できません)
IMC_Default の設定ではインタラクトに Eキーだけ設定していました。
この状態で画像のように「Map Player Key」を呼ぶと KB_Interact を指定していますが、Eキーも左クリックも両方トリガーされるようになります。
ここでさらに重要な設定が [Create Matching Slot if Needed] を True にすることで、Second Slot がまだ作成されてない場合は作成し、Second Slot に新しいキーを割り当ててくれるようです。
KB_Interact という名前に対し、First が Eキー(IMCで設定したキー)、Second が「Map Player Key」の左クリックが割り当てられたということになります。
更に追加で「Map Player Key」を呼び、Slot は Second, New Key を Yキーにすると Second Slot は既に作成されているため、左クリックが Yキーに置き換わるという挙動になります。
「Apply Settings」「Save Settings」で適用、セーブが可能
「Map Player Key」で設定を変更してもセーブしないと変更箇所はなくなってしまうため、「Apply Settings」でゲーム中に適用、「Save Settings」でセーブすることができます。
「Save Settings」を呼べば設定が保存され、次回ゲーム起動時に勝手にロードしてくれるので大変便利です。
また、「Apply Settings」や「Save Settings」を呼んだタイミングを知りたい場合は、過去の記事 を参照下さい。
どういう時に役立ちそうか
これは現在開発中のゲームのキーコンフィグ画面ですが、2つまでキーコンフィグ可能な仕組みが欲しい場合に役立ちそうです。
キーコンフィグ可能な PC ゲームは最大2つまで設定できるゲームが多い印象です。
軽い紹介程度ですが、Input Key Selector が2つ並んでおり、それぞれ First, Second という Slot を指定し、中身の「Map Player Key」では [Create Matching Slot if Needed] を True にしています。
こうすることで IMC 内に余計な設定を増やすことなく Slot を追加するという実装で対応できるようになりました。
結構いい機能なのにちゃんと理解できてなかったのが勿体なかったですが大変勉強になりました。
いきなり暑くなりすぎですが、熱中症等お気を付けくださいませ!