なぜかスローにならない

お世話になります。

Focusingボタンを押している間、FocusMeterがゼロになっていなければFocusMeterを消費しながらレベル内をスローモーションにする機能を用意したいです。以下のように実装し、Tick内に置いたのですがスローモーションになりません。

一旦、画像にある通りデバッグログを残すようにしてみたのですがどうもスローになった瞬間に通常スピードに戻されてしまっているようです。

Focusingボタンを押している間、bIsFocusingがtrueになり続けてないのかと思いまして、こんな感じでボタン入力時の関数にもデバッグログを用意してみました↓


ログは、ちゃんとFocusingを押したときはtrueの分だけ出て、離すとfalseになりました。つまり問題なさそうです。

何が悪さしているかわかりますでしょうか
なお、UE5のTPSサンプルプロジェクトに同じ関数を実装してみたところ正常にスローになりました。

ログとコードを見る限り、 bIsFocusing が毎フレーム更新されているように見えます
ボタンを押す以外で bIsFocusing を操作しているところがないか確認してみてください

1 Like

アドバイスありがとうございます。

探してみましたが、bIsFocusingでヒットしたのは↑にあるコードのみでした。
ほかのC++ファイルからもヒットはありませんでした。

ちなみにTickはこのような状態です。

入力はEnhancedInputでしょうか?
であれば、Triggerが設定されているか確認してみてください

TriggerがPressedの場合、Started->Triggerd->Completedはボタンを押すタイミングで発生します
ボタンを離したタイミングでは何も起こりません

Triggerが設定されていない場合、Startedは押したタイミング、Triggeredは押している間毎フレーム、Completedは離したタイミングで発生します