攻撃時の移動無効と一定間隔での攻撃

画像見させていただきました。


これでは確かにボタン連打すると間隔なくアニメーション再生されます。

理由は単純で、ボタン入力不可の時間を一切取っていない のが原因です。

DoOnceの解除判定が 1フレーム毎にイベント発行される BlueprintUpdateAnimationで行われているため、ボタンを少し離した瞬間にReleseイベントで解除、間髪入れずに押すと次の攻撃アニメーションに遷移するようになっています。

なので、 ボタン入力不可の時間を何らかの形で取る必要 があります。


地面で足が滑りながら攻撃モーションを行う点ですが、以下の2点で解決できるかと思います。

・アニメーションモンタージュ(Slot)を キャッシュしたアニメーション から繋げるようにして、ボーンでブレンドする

・攻撃アニメーション処理が走っている間は、移動処理を行わないように処理を追加

→画像例で言えば、インプットAxils MoveFowardとインプットAxils MoveFoward MoveRightの初めにisSowrdAttackがFlaseであれば移動処理を行う判定処理を追加すればいいと思います。


参考になるかはわかりませんが、以下、自分が主催しているUnreal Engine MeetUp Saitamaでコンボアニメーションのハンズオンを行った時の資料があります。

アニメーションのキャッシュの方法や、コンボ処理の参考例が載ってますので、参考にしてみてください。

UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』

上記のスライドに書かれているコンボ処理であれば、少なくとも連打した時にすぐキャンセルして次のアニメーションに行くことはないはずです。