レベルシーケンス上で時間が飛んでいるアニメーションシーケンスを時間でブレンドする。

現在、エンターキーやクリックでテキストを進める会話部分の作成を行っております。

以下の画像のように初めはAをループし、クリックして会話を進め、あるテキストに到達するとBの部分のアニメーションをループするように作成しておりました。

このAからBに変化する時、現状では瞬間的にアニメーションが変化してしまうのですが、これをBlendTime等を設定して瞬間的な変化を防ぎたいと考えました。

アニメーションブループリントを使えば何とかなるかと思ったのですがどうにもこれを成立させる方法が思いつきませんでした。
以下は失敗例ですがなんとなくやりたいことが伝われば幸いです。

アニメーションシーケンスをすべてAnimMontageに変更し、シーケンサーから変数を変更し、RepNotifyによって通知を送り、通知が言ったらAnimMontageをデフォルトスロットで再生するという方法も考えましたが、シーケンサーからの変数変更故か、通知を受け取ることが出来ていないように見えました。

そもそも会話部分を作るアプローチからして間違っているのかもしれませんが、何か良い方法があれば教えていただけると大変助かります。よろしくお願いいたします。

What about this?

  1. create a state machine and an integer variable called Animation ID like this:

  1. In the state machine you enter to Idle state and then you jump
    to the desired animation as you change the Animation ID variable like this:

Thanks for the reply!

My understanding is that in the case of this method, blending is impossible without some ingenuity, etc. In this case, what should I do about blending?

Can you please tell me?

いくつかのアプローチを試してみました。
最も近かったのはアニメーションブループリント内で以下のノードを組むことでした。
NewAnimMontageはシネマティクスに公開し、ループの初めのキーに新たなNewAnimMontageを設定することでひとまずブレンドは出来ました。
ただ、この方法で再生するとなぜかAnimMontageはループせず、1回分再生したところで停止します。Montage内のアニメーション設定→Loopはチェックを入れており、ノードにはLoopに関する項目が無いため少々困惑しております。これがループさえしてくれれば要件を満たすため、この問題を解決する方法をご存じの方は教えていただけると助かります。

image

少しトピックの内容がずれてきそうですのでクローズします。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.