【UE4】アニメーションの通知をアニメーションBPで受け取り制御する

2019年3月3日

明けましておめでとう御座います。今年もどうぞよろしくお願いします!

今年は去年にも増してUE4、モデリング技術の研鑽にゆる~く取り組んでいきたい所存であります。

今回は凄く基本的ですが大切だと思うので、アニメーション中の特定のタイミングで通知を出してアニメーションBP中でイベントとして受け取り制御を行う方法を記事として残しておこうと思います。

 

※画像はクリックで拡大できます

 

スポンサーリンク

アニメーションシーケンスエディタを開く

 

今回実装したいのは、キャラクターの回避行動として後ろへ飛び退くという物です。

アニメーションとしてジャンプがあるので、飛びあがりと着地の間に後方に移動し、アニメーションが終了したらキャラクターの状態を待機状態に戻したい訳です。

アニメーションの中でも飛んでる間だけ移動したい

 

飛び上がり、着地、アニメーションの終了、この三つの通知をジャンプアニメーション中に追加するためアニメーションシーケンスエディタを開きます。

コンテンツプラウザからモデルのスケルタルメッシュをダブルクリックします。

スケルタルメッシュをダブルクリックする

 

スケルタルメッシュの表示画面になったら、上の方にある「アニメーション」をクリックする事でアニメーションシーケンスエディタを開く事ができます。

スケルタルメッシュ画面

 

アニメーションに通知を追加する

 

アニメーションシーケンスエディタを開く事ができたら、通知を追加したいアニメーションをアセットプラウザから選択します。

アニメーションを選択

 

「通知」と書いてあるフレーム欄で右クリック→「通知を追加」→「新規通知」を選択する事で、通知を追加する事ができます。追加した後でも通知を好きなフレームに動かす事ができます。

通知で右クリック
新規通知を追加
追加した通知

 

通知には「Play Sound」や「Play Particle Effect」などもあるので、足が地面に着いたタイミングで足音SEや、走った時の土埃パーティクルなどの実装がここでできてしまいそうですね。

 

通知をアニメーションBPで呼び出す

 

追加した通知は、アニメーションBP中で呼び出す事が可能です。右クリックで先程追加した通知名を検索に入力すれば、「Anim Notify 通知名」で呼び出せる事が確認できます。

今回追加した通知のブループリント

 

後は移動開始の通知が来たら、フラグを立ててキャラクター制御側で移動処理、移動終了の通知が来たらフラグを落とす、といった感じでアニメーションの特定のタイミングで色々な制御を行う事ができます。

 

動作確認

 

 

アニメーション通知を利用する事で、空中に居る間だけ後ろに下がる処理を実装する事ができました!

UE4のアニメーションには、「アニメーションモンタージュ」などのさらに便利な機能があるのでその内また記事にしたいと思っております。

スポンサーリンク