はくとうのゲーム開発ライフ

UE4周りの技術メモ

MotionWarping使ってみた

はじめに

気になっていたMotionWarpingをいまさら触ったので、 簡単な導入方法の紹介になります。



開発環境

UnrealEngine5.1



事前準備

今回はThirdPersonプロジェクトをベースに検証しています。 また、古代の谷からアニメーションを持ってきています。



実装結果

それでは、実装方法についての紹介に入ります。



障害物のオブジェクトを取得する

上記のような形で障害物オブジェクトを取得します。 レイトレースでヒットしたものを取得するシンプルなものです。



MotionWarpingの準備

ThirdPersonCharacterにMotionWarpingコンポーネントを追加します。



モンタージュの仕込み

まずは古代の谷からもってきたアニメーションでアニメーションモンタージュを作成します。 そこに「MontageWarping」Notifyを追加し、以下のように設定します。



MotionWarping処理追加・モンタージュ再生

大体の大まかな処理は以下のようになっています。

ThirdPersonのJumpの処理の流れの後に、MotionWarpingの移動量計算、その後にモンタージュを再生しています。

MotionWarpingの移動量計算の関数内部は以下のような感じです。

以上で簡単な実装紹介終わりです。



まとめ

かなり簡単にパルクール実装ができました。 ただ、クォリティとしてはかなり改善の余地がある状態なので、今後も色々試してみる予定です。