ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はマウスのホイールに関連したイベントを取得する手順です。
インプット設定は非推奨
YouTubeなどでマウスのホイールイベントを取得する際に[プロジェクト設定|インプット]のバインディング部分に追加する方法が紹介されています。
しかし、最新バージョンの Unreal Engineでは以下のような表示になっています。
軸とアクションの各マッピングは非推奨になりました。Enhanced Input アクションと入力マッピング コンテキストを使用してください
Unreal Engine インプット設定より
他のキー同様に入力アクションで追加
最初にキーイベントを受け取るためのマッピングを設定していきます。
1.[コンテンツドロワー]を開いて[ThirdPerson]フォルダー内の[Input|Actions]フォルダーを開きます。
2. 空いている部分で右クリックして表示されたポップアップメニューの[入力|入力アクション]を選択します。
3. 追加されたデータアセットの名前を “IA_MouseWheel” に変更します。
4. 1つ上の[Input]フォルダーに移動して[IMC_Default]データアセットを開きます。
5. 表示された[IMC_Default]の[Mappings]横の[+]をクリックします。
6. 一覧に追加された[なし]のプルダウンリストの一覧から[IA_MouseWheel]を選択します。
7. 表示された[キーボード]アイコンをクリック(アイコンが黄色になります)してからマウスのホイールを回します。
8. アイコンがマウスに変更され[マウスホイール軸]が設定されます。
入力アクションの設定は、ここまでです。
マウスのホイールを検知する
作成したマウスホイールの入力アクションを利用して、イベントを取得してみます。
1.[コンテンツドロワー]を開き[ThirdPerson|Blueprints`]フォルダー内の[BP_ThirdPersonCharacter]を開きます。
2.[イベントグラフ]の空いている場所で右クリックしてポップアップ画面で “IA_MouseWheel” を検索して追加します。
3.[イベントグラフ]内に追加された[EnhancedInputAction IA_MouseWheel]をダブルクリックして開きます。
4. 別画面で表示された[詳細]画面で[アクション|Value Type]の一覧から[Axis1D(float)]を選択します。
5.[イベントグラフ]画面に戻って[EnhancedInputAction IA_MouseWheel]の[Triggered]からピンを伸ばします。
6. 表示された[このブループリントで使えるノード]画面で “Print String” を検索して追加します。
7. 追加された[Print String]の[In String]と[EnhancedInputAction IA_MouseWheel]の[Action Value]を接続します。
8. 2つのノードがキャストされて接続されます。
9. 実行画面で、マウスのホイールを操作すると左上に “1.0” “-1.0” が表示されます。
まとめ
今回は、Unreal Engineで入力アクションを使ったマウスのホイールイベントの取得方法について書きました。
プロジェクト作成時に作成されるキーボードやマウス関連の入力イベント同様に、入力アクションと[イベントグラフ]を追加することでマウスのホイールのイベントが取得できます。
Unreal Engineのゲーム開発で[Enhanced InputAction]を利用してマウスのホイールイベントを取得したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。