前提・実現したいこと
UnrealEngine4でブループリントを用いてマウスオーバーイベントを作成しています。
目指す機能としては以下のようなものです
・マウスオーバーで軽く上下動するアニメーションの再生
・マウスオーバーでUIを表示
・マウスオーバー終了でUI非表示
※現時点ではマウスオーバーのイベント呼び出しそのものに問題が発生しているため、単純にPrintで文字を表示するのみです。
BluePrintは現時点で以下のような単純なものです。
発生している問題・エラーメッセージ
上記のブループリントアクタをレベルに配置して動作を確認したところ、以下の問題が発生しています。
※問題1に関しては自己解決しましたが、ログとして残します。
問題1:カーソルを少しでも動かすとその度にOnBeginCursorOverが実行される
理想:カーソルがアクタに重なったとき1度だけイベントを呼ぶ
問題2:カーソルがアクタ上にある状況でOnEndCursorOverが実行されている
理想:カーソルが離れたときにイベントが呼ばれる
キャプチャツールの関係でカーソルは非表示になってしまっていますが、
「一度のマウスオーバー」+「アクタ上でカーソルを小刻みに操作」で画像のようにイベントが繰り返し実行されている状況です。
以上の問題について、原因と解決法をご教示いただきたく質問させていただきました。
該当のソースコード
ブループリントで発生している問題のためソースコードはありません。
※ブループリントノードのコピペを試しましたが文字数オーバーで投稿できませんでした。
試したこと
以下フォーラムの回答
https://answers.unrealengine.com/questions/496905/problem-with-onbegincursorover-and-onendcursorover.html
"Set the Skeletal Mesh's Collision to Block the Visibility Trace Response channel."
訳「骨格メッシュの衝突を設定して、可視性トレース応答チャネルをブロックします。」
以下のように、一度イベントが実行された後SetEnableMouseOverEventsをオフにすると複数回実行される問題は解決しますが、
カーソルが離れた際のイベントが実行されなくなってしまうため根本的な解決には至りませんでした。
補足情報(FW/ツールのバージョンなど)
UnrealEngine4のバージョンは4.26.1です。
その後の試行
DoOnceノードでOnBeginCursorOverイベントの複数回の実行は防げそうかなと思い、
以下のように改良しました。
DoOnceのReset時はCompleteから先が出力されないようなので、
以上のようにつなげて必ずBeginとEndが交互に実行されるようにはなりました。
これにより、カーソルが離れていないのにOnEndCursorOverが実行される問題が解決されれば全体の問題も解決できると考えています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。