Unreal Engineにおけるゲームパッド方向キーのName型入力値に関するトラブルシューティング

 本投稿は,Unreal Engine(UE)における「ゲームパッド方向キー」ノードから取得したName型の値にて,筆者が填まったトラブルに関する投稿です.
 結論から述べると方向キー左のみ,他の方向キーと異なり,末尾に全角空白文字が1字含まれています.
 使用しているUEのバージョンは4.25.4です.

目次

  1. 方向キー左の仕様と対処

1. 方向キー左の仕様と対処

 ゲームパッドから入力されたキーに応じて処理を分岐させる手法として,筆者は,例えばKey型の入力値をName型に変換し,そのキーの名前に応じ処理を分岐させます(図1).
 しかし「ゲームパッド方向キー左」ノードのみ,取得できるName型の入力値の末尾に全角空白文字が1字含まれています!?

図1 ゲームパッド方向キーと入力Keyから取得したNameでの分岐例

 そのため「名前でスイッチ」ノードに設ける条件にも末尾に全角空白文字を1字加えておかなければ,入力値と条件が一致しません(図2).
 ……他の方向キーは入力に応じて挙動を変えられるのに,なぜか方向キー左だけ反応しない!??? と,筆者はここで填まりました.

図2 「名前でスイッチ」ノードのピンオプション

 このゲームパッド方向キー左のみの入力値の違いは,入力値を「Print String」ノードで出力したアウトプットログを確認しても,末尾の違いに気づくのは困難でした(図3).
 筆者が気づけた要因は,図1に示した各方向キーのノードにおいて,「ゲームパッド方向キー左」ノードのみ,ノードの幅が他よりも長かったことです.そこからノード名および取得されるNameの文字数が他より長い(空白文字が潜んでいる)可能性に気づけました.

図3 アウトプットログに出力した際の様子