fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2017年07月 | ARCHIVE-SELECT | 2017年09月

| PAGE-SELECT |

≫ EDIT

UE4 マウスの移動量の取得(Event Input Axis Turn、Event Input Axis LookUp)

マウスの移動量を取得して処理する方法です。
マウスの座標を毎フレーム受け取って差分で処理をするという方法もあるかなと思ったのですが
UE4にマウスを乗っ取られている状態だと
座標の取得がうまくいかないことがわかりました。

なので、これをどうするか調べていたところ、以下のようなドキュメントが。

・ブループリントで入力をセットアップする操作手順
https://docs.unrealengine.com/latest/JPN/Gameplay/HowTo/SetUpInput/Blueprints/index.html

「Input Axis Turn」と「Input Axis LookUp」というイベントが使えそうでした。

「Input Axis Turn」はマウスの横の移動量を取得できます。
マウスの移動量取得000
「Axis Value」で移動量が取得できます。
いい感じに扱うために任意の値を掛けて使うのがよさそうです。

「Input Axis LookUp」はマウスの縦の移動量を取得できます。
マウスの移動量取得001
「Axis Value」で移動量が取得できます。
いい感じに扱うために任意の値を掛けて使うのがよさそうです。

といった感じですね。
自作のカメラをマウスで操作したくて調べていたのですが
上記イベントを使って無事実装することができました!

| UE4 | 12:51 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 マウスやキーボードを押している間の判定をとる

マウスやキーボードの入力を受け取るとき、こういったノードを使うことになると思います。
マウス押しっぱなし取得002

これ「押した瞬間」と「離した瞬間」はとれるのですが
「押しっぱなしの時の状態」はとれないんですよね…。
みんな必要になりそうな処理だと思うのですが実は標準機能ではないという…。

と、調べてみたらこんな記事がありました。

・UE4 BluePrintメモ その1
http://pafuhana1213.hatenablog.com/entry/2014/09/09/004928

上記サイトによるとこの二種類の方法が良いみたいですね。

RetriggerableDelayノードのDurationの値でボタン押しっぱなし時の
処理(↑の場合だとFireImpulse)の呼び出し時間間隔を調整

フラグで管理版。Tickを使用するので、ボタン押しっぱなし時の処理は
毎フレーム呼ばれることになる

UE4のANSWER HUBでもこういった投稿があるようです。

・Mouse left button down to shoot automatically
https://answers.unrealengine.com/questions/31437/mouse-left-button-down-to-shoot-automatically.html

個人的には変数を増やさないといけないのですが
BOOL値の変数による管理が一番楽かなーと。
マウス押しっぱなし取得000
変数を増やして
マウス押しっぱなし取得001
押したときと話した時でこの変数を管理する。
といったものですね。

一応現状でも上記の扱いでできたりするのですが
折角ノードがあるのでHoldもとれるようにしてくれないかなーと願ってます!

| UE4 | 12:02 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 サウンドキュー(Audio Component)が再生中かどうかチェックする(Is Playing)

サウンドキューが再生中かどうかチェックする方法です。
公式ドキュメントはこちらに。

・Ambient Sound アクタのユーザーガイド
https://docs.unrealengine.com/latest/JPN/Engine/Audio/SoundActors/index.html

再生中かどうかを判断するには「Is Playing」ノードを使います。
再生中かどうか001
「Target」には「Audio Component」を指定します。

実際にノードを組むとこんな感じになります。
再生中かどうか000

UE4は機能がたくさん用意されてて簡単でいいですよね。

| UE4 | 12:30 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |