【UE5】アニメーションBPの基本的な考え方

この記事は約2分で読めます。

自分でアニメーションブループリントを作り始めた時に当然、MannyのアニメーションBPを参考にした。でも、どうしてあんな風になっているのか理解できずに自分なりに作ってみた。たとえば移動キーが押されたら移動アニメーションに切り替える。ジャンプキーが押されたらジャンプアニメーションに切り替える。これはスタンドアロンなら上手くいった。しかし、アニメーションを切り替えるための切欠を与える変数をレプリケーションしていなかったので、マルチセッションではちゃんと動かなかった。自分はアニメーションしていても他のプレーヤーはアニメーションしない。(もしかしたらこの辺りの認識は間違っているかもしれない。まだよく分かっていない)

じゃあ、変数をレプリケーションすればいいじゃないか。ともなるんだが、ここでやっとMannyのアニメーションBPが理解できた。全ての状態変化をいちいちレプリケーションしていたら、ネットの送受信データが増える一方になってしまう。キャラクターの位置と大雑把な状態(スピードや落下中など)はUnreal Engineが勝手にレプリケーションしてくれる。その状態からアニメーションBP内で能動的にアニメーションを切り替えるわけだ。外部から変数を与えられて受動的に切り替えるようにはなっていない。もちろんそうすることもできるが、極力そうしなくて済むように作るべきなんだと思う。そうすればネットワーク帯域を節約できるはず。

キャラクターが立っている場所などからも勝手にポーズを切り替えられるようになっているようだが、そこはまだ勉強していないし、当面は実装する気がないんだが、あれも帯域を使わずにできるわけだ。クライアントは若干重くなるだろうけど。賢い人たちが考えることは、やっぱり凄い。

コメント

タイトルとURLをコピーしました