この記事の3行まとめ
- アドグローブ、「【UE5.7】MoverとMotionWarpingを同時に使用する方法」と題したブログ記事を公開
- UEの移動コンポーネント「Mover」環境下で「Motion Warping」を動作させるための条件や実装手法を紹介
- ブループリントを用いた対処法と、C++で同様の挙動を実現する方法をそれぞれ解説している
アドグローブは2026年7月3日(金)、「【UE5.7】MoverとMotionWarpingを同時に使用する方法」と題した記事を、同社の技術ブログ「ADGLOBE BLOG」で公開しました。
記事では、アンリアルエンジンに実験的機能として搭載されている移動用コンポーネント「Mover」を用いて、ブループリントおよびC++で「Motion Warping」を動作させるための実装手法を紹介しています。
なお、記事中における開発環境はUnreal Engine 5.7です。
(画像はブログ記事より引用)
「Mover」は、Character Movement Componentに代わる新たな移動系コンポーネントとして実験的に搭載されているUE標準プラグイン。ネットワークの専門知識がなくともロールバックなどの挙動を作成しやすく、Actorの制限なくコリジョンを操作できるといった特徴を持ちます。
一方「Motion Warping」は、アニメーション モンタージュ内でルートモーションを動的に調整することで、目的地点までキャラクターを移動させることができる機能です。
Motion Warpingを動作させるためには、前提条件としてCharacter Movement Componentを使用する必要があり、Moverでは条件を満たせずルートモーションの移動設定が正しく反映されません。
記事ではその解決策として、ブループリント/C++それぞれを用いた実装手法を紹介。
まずブループリントによる実装例としては、既存の「Play Montage」ノードを「Play Montage (Mover Actor)」ノードに置き替えてアニメーション モンタージュを再生する手法を提示しています。
「PlayMontage」ノードでアニメーション モンタージュを再生するようにブループリントを組んだ状態。キャラクターの位置が補正されず壁に埋まっている(画像はブログ記事より引用)
「PlayMontage (MoverActor)」ノードに置き替えた後のアニメーション。Motion Warpingが機能し、自然な動きで障害物を乗り越えることが可能となった(画像はブログ記事より引用)
同様の対処をC++で実装する場合、PlayMontage (MoverActor)ノードの内部コードを参照のうえ、「UPlayMoverMontageCallbackProxy::CreateProxyObjectForPlayMoverMontage」関数に、キャラクターのMoverコンポーネントと再生したいアニメーション モンタージュを渡して呼び出すことで解決できると説明。
併せて、この手法によってルートモーションの挙動が改善する理由について、C++の内部処理を掘り下げながら解説しています。
(画像はブログ記事より引用)
なお同社の技術ブログでは、「Mover」プラグインの特徴や一部機能について解説した記事も公開されています。併せてご確認ください。
【UE5.7】MoverとMotionWarpingを同時に使用する方法|ADGLOBE BLOG