ループモーションの両端をブレンドすることはできますか?

UE4内で完結するとしたら、MotionBlendを使用して2つのモーションをブレンドする、アニメーション遷移時のBlend時間を調整する、BlendSpaceで2つのモーションをブレンドするといった方法があります。ただし、これらの方法はあくまで2つのモーションをBlendする方法なので、最適な方法はループモーションの始端と終端が一致するモーションを準備することです。

204108-motionblend.png

ご回答ありがとうございます。

おっしゃる通り前後半での切り離しは不要でしたね。単純に接続部のブレンドが出来れば良いと考えていたのでそのような認識になってしまっていました。

ご提案頂いた方法で必要な実現が可能そうですので、試してみます。

UE4.16.2 を使用しています。UE4.17.xにアップデートを検討することもできます。

キャラクターのアニメーションとしてアニメーションBPをスケルタルメッシュに設定して動かしています。

ループさせようとするアニメーションシーケンスの両端のポーズが一致せず、若干のずれのあるモーションを使おうとしていて、ループの終端と始端の遷移をブレンドによって接続したいのですが、何か方法はありますか?

宜しくお願い致します。

ご回答ありがとうございます。

前提として始端と終端にずれのあるループモーションがアセットとして既にあるものとして、詳しくお伺いしたいです。

ご回答頂いた内容では2つのアニメーションのブレンドが前提となっていますが、ループさせたいモーションを前後半2つのモーションに分割して、その2モーション間でブレンドを行う、と考えて良いのでしょうか?

「アニメーション遷移時のBlend時間を調整する」方法ではアニメーションBPにステートマシンを作成し、分割した2つの非ループ設定のアニメーションを相互に、残り再生時間を遷移条件に遷移させることでループに見せる方法はまず実現することが出来ました。

他にご提案頂いていますBlendSpaceやMotionBlendの方法も同様にモーションの再生残り時間からブレンドのAlphaを決定し、相互にブレンドを行う、と考えて良いのでしょうか。

宜しくお願い致します。

ご回答頂いた内容では2つのアニメーションのブレンドが前提となっていますが、ループさせたいモーションを前後半2つのモーションに分割して、その2モーション間でブレンドを行う、と考えて良いのでしょうか?
ループモーションを2つのステート(例えばLoopA,LoopBのステートを作成して)に割り当てて、ループしている間は2つのステートを行き来するというイメージで考えていました。

他にご提案頂いていますBlendSpaceやMotionBlendの方法も同様にモーションの再生残り時間からブレンドのAlphaを決定し、相互にブレンドを行う、と考えて良いのでしょうか。
はい、その通りです。

以上のように、1つのモーションを扱うにあたり2つの状態を作成したり、アニメーションを分割して2つのアニメーションを制御しなくてはならないため、最適な方法として「始端と終端が一致するモーションを準備する」と記載させて頂きました。ご提示頂いた前提条件にそぐわないのでこの考え方は外さなくてはならないのですが、実装の手間がはるかに増えてしまうことと、同じような条件のアニメーションが増えてしまうと管理が複雑になってしまうので極力元のモーションを修正すべきと思います。
他に疑問点などがありましたら気軽にご質問下さい。

ループモーションの両端を単純にブレンドする手法はありませんでしたが、ご回答として頂きましたループモーションを2つのステートに割り当て、その2つを行き来してループさせる方法で必要な対応を行うことが出来ました。
ご回答ありがとうございました。