MotionWarping使ってみた
はじめに
気になっていたMotionWarpingをいまさら触ったので、 簡単な導入方法の紹介になります。
開発環境
UnrealEngine5.1
事前準備
今回はThirdPersonプロジェクトをベースに検証しています。 また、古代の谷からアニメーションを持ってきています。
実装結果
それでは、実装方法についての紹介に入ります。
障害物のオブジェクトを取得する
上記のような形で障害物オブジェクトを取得します。 レイトレースでヒットしたものを取得するシンプルなものです。
MotionWarpingの準備
ThirdPersonCharacterにMotionWarpingコンポーネントを追加します。
モンタージュの仕込み
まずは古代の谷からもってきたアニメーションでアニメーションモンタージュを作成します。 そこに「MontageWarping」Notifyを追加し、以下のように設定します。
MotionWarping処理追加・モンタージュ再生
大体の大まかな処理は以下のようになっています。
ThirdPersonのJumpの処理の流れの後に、MotionWarpingの移動量計算、その後にモンタージュを再生しています。
MotionWarpingの移動量計算の関数内部は以下のような感じです。
以上で簡単な実装紹介終わりです。
まとめ
かなり簡単にパルクール実装ができました。 ただ、クォリティとしてはかなり改善の余地がある状態なので、今後も色々試してみる予定です。