見出し画像

UE5から始める C++ & BP 11 【Blueprint版】Input Event(入力イベント)

Zenn Bookの方に今まで書いていたnote記事を移行できました。

今はZenn Bookを直接編集して、書き終わったらnoteに書き写してます。

2重管理結構大変。

手順はZenn、コラムはnoteで続けて行きます。

もうすこしで基本文法が書き終わりそうです。

頑張って最後まで走りぬこう!

前回は「Function(関数)」方法について調査しました。
今回は「Input Event(入力イベント)」方法について調査していきます。

【Blueprint】Input Event(入力イベント)

今回できること

キーボードやゲームコントローラーの入力イベントからPrintStringを出力します。

Project Settingsに入力イベントを追加して、Blueprintで追加した入力イベント呼び出します。

学習用の新規レベル「Chapter_2_InputEvent」を作成する

学習用の新規レベルを作成します。
[File]メニューから[New Level…]を選択します。

[Default]を選択します。

「Maps」フォルダに「Chapter_2_InputEvent」を入力し、[Save]ボタンをクリックします。

Blueprintを複製する

「BP_Function」を複製(Ctrl + W)して、「BP_InputEvent」を作成します。

キーボード入力イベントノードを追加する

キーボードの「H」キーを入力した時に処理を実行するようにします。

メニューから[Input > Keyboard Event > H]を選択します。
カテゴリーが英語UIと日本語UIで違うので検索Wordが変わります。

  • 英語UI:[keyboard (追加したいキー)]

  • 日本語UI:[キーボード (追加したいキー)]

「H」のイベントノードの[Pressed][Released]の[実行]ピンを[PrintString]ノードとFunction[PrintCalcResult]ノードの[実行]ピンに接続します。

[Compile]ボタンをクリックします。

Level Editorに戻り、「BP_InputEvent」をViewportにDrag&Dropします。

Level Editorの[Play]ボタンをクリックします。

[H]キーを入力してもBlueprintが反応しません。

[Enable Input]ノードを有効にしてキーボード入力できるようにする

Blueprintが入力を受け付けるように修正します。

[Sequence]ノードを追加して、[Then 0]の[実行]ピンで入力を受け付けるようにする処理を設定します。
[Enable Input]を追加します。

[Enable Input]ノードの[Player Controller]ピンからDrag&Dropし、[Get Player Controller]を選択します。

[Sequence]ノード[Then 0]の[実行]ピンを[Enable Input]ノードの[実行]ピンに接続します。

[Compile]ボタンをクリックします。

Level Editorの[Play]ボタンをクリックします。

[H]キーを入力するとBlueprintが反応します。

入力イベントノードは「Pressed(キーを押した)」「Released(キーを離した)」の入力を取得できます。

Project Settingsで入力イベントを追加する

キーボードとゲームパッドのイベントを1つのイベントで処理できる設定をします。

[Project Settings]を開きます。

  • [Edit]メニュー > [Project Settings...]

  • 右上の[Settings] > [Project Settings...]

入力の設定は[Engine]カテゴリーの[Input]から行います。
[Bindings]カテゴリーで詳細な入力設定を行えます。

[Engine] > [Input] > [Bindings]カテゴリー

[Action Mappings]に「ActionPrintResult」というActionイベントを追加します。

[Action Mappings]の[+]ボタンをクリックするとActionイベントが追加されます。

Action Mappingsに追加されたActionを設定します。

  • Action Name:ActionPrintCalcResult

  • Input Key:Cキー

Inputキーの左側のアイコンをクリックしてから、設定したいキーを入力すると設定したいキーが設定されます。

キーボード以外にもゲームパッドの入力を同じActionに設定できます。
Action名の[+]ボタンをクリックすることでInputキーを追加できます。

日本語UIと英語UIで名称や配置が違うので、UIを母国語にして設定した方が間違えないです。

Project Settingsで追加したActionイベントを追加する

Project Settingsで追加したActionイベントを入力した時にFunction[PrintCalcResult]を処理するように修正します。

「BP_InputEvent」を開きます。

メニューからProject Settingsで追加したInput Actionイベント[ActionPrintCalcResult]を選択します。

Input Action[PrintCalcResult]の[Pressed]をFunction[PrintCalcResult]の[実行]ピンに接続します。

[Compile]ボタンをクリックします。

Level Editorの[Play]ボタンをクリックします。

Project Settingsで追加したActionイベントを入力した時にunction[PrintCalcResult]を処理するようになりました。

すべて保存する

Blueprint側の説明は以上になります。
プロジェクトをすべて保存しましょう。

まとめ

入力イベントはBlueprintが1番簡単に実装出来ます。
ソースコードで書くとスゴイ大変でした。
これくらい気軽に入力イベントが実装できるのはうれしいですね。

参照URL

UE4から始めるC++&Blueprint 進捗とロードマップ

Zennで進捗報告を行い、GitHubでロードマップを公開中です。
よかったら覗いてみてください。


いいなと思ったら応援しよう!