UE5/UE4 アニメーションモンタージュ(Animation Montage)を再生するとステートマシン(State Machines)が停止してリセットされてしまう問題を解決する(Slot、Always Update Source Pose)
アニメーションモンタージュ(Animation Montage)を再生するとステートマシン(State Machines)が停止してリセットされてしまう問題を解決する方法です。
公式ドキュメントはこちら。
・Animation Montage の概要(Animation Montage Overview)
https://docs.unrealengine.com/4.27/ja/AnimatingObjects/SkeletalMeshAnimation/AnimMontage/Overview/
アニメーションモンタージュを再生しつつ、ステートマシンで制御するためにこんな感じでノードを組みました。

普通の使い方だと思います。おそらく…。
このアニメーションブループリントで、アニメーションモンタージュを再生すると終了後に、
接続しているステートマシンがリセットされて最初から実行されてしまう。
といった問題が発生しました。
調べてもでてなく、みなさんどうやってるんだろうと困っていたのですが、
「Slot」の詳細に「Always Update Source Pose」という項目があり、
チェックを入れるとステートマシンが常に動くようになりました。
まずは「Slot」を選択します。

詳細の「Always Update Source Pose」にチェックを入れます。

これでモンタージュ再生後にステートマシンがリセットされることはなくなりました。
ただ、これだとモンタージュ再生中もステートマシンは常に動き続ける(評価される)ので
ステートの方の制御は気を付けないといけないかもです。
デフォルトでは「Always Update Source Pose」にチェックは入っていないので気づきそうなものですが
ステートマシンの最初が待機(Idle)みたいなもので、モンタージュ再生後に待機に戻る。みたいなつくりになっていると
動作としては特に問題ない(おそらくやりたいことと結果が同じ)ので気づきにくいのかなーと。
公式ドキュメントはこちら。
・Animation Montage の概要(Animation Montage Overview)
https://docs.unrealengine.com/4.27/ja/AnimatingObjects/SkeletalMeshAnimation/AnimMontage/Overview/
アニメーションモンタージュを再生しつつ、ステートマシンで制御するためにこんな感じでノードを組みました。

普通の使い方だと思います。おそらく…。
このアニメーションブループリントで、アニメーションモンタージュを再生すると終了後に、
接続しているステートマシンがリセットされて最初から実行されてしまう。
といった問題が発生しました。
調べてもでてなく、みなさんどうやってるんだろうと困っていたのですが、
「Slot」の詳細に「Always Update Source Pose」という項目があり、
チェックを入れるとステートマシンが常に動くようになりました。
まずは「Slot」を選択します。

詳細の「Always Update Source Pose」にチェックを入れます。

これでモンタージュ再生後にステートマシンがリセットされることはなくなりました。
ただ、これだとモンタージュ再生中もステートマシンは常に動き続ける(評価される)ので
ステートの方の制御は気を付けないといけないかもです。
デフォルトでは「Always Update Source Pose」にチェックは入っていないので気づきそうなものですが
ステートマシンの最初が待機(Idle)みたいなもので、モンタージュ再生後に待機に戻る。みたいなつくりになっていると
動作としては特に問題ない(おそらくやりたいことと結果が同じ)ので気づきにくいのかなーと。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑