アニメーションBPの実装が思いつかず行き詰ってしまいましたので質問させてください。
イベント用に作られた一連のモーションを制作側の任意のタイミングで停止させ、そこに待機用の加算モーションを加算して、
そのポーズ+加算モーションでプレイヤーの特定の動作が行われるまで待機させ続ける。
その後プレイヤーが特定の動作を行うと、停止を行ったタイミングから再度再生を始める。
というアニメーションBPを作成したいと思い、ステートマシン等で構想を考えました。
しかし、ステート内でアニメーションの停止及びそれを保持しておく方法がわからず、
その後、停止したアニメーションを参照及び再度再生させるという手順については、皆目見当がついておらず考えあぐねています。
上記の方法につきましてお心当たりございます方はお知恵をいただけると幸いです。
教えを乞うばかりで大変恐縮ですがよろしくお願いいたします。
tamfoi
(tamfoi)
2
作ったモーションを3つ(スタート部分、ループ部分、エンド部分)に分けるのはどうでしょうか?
例えばサードパーソンテンプレートのジャンプのモーションもモーションが3つに分けられています
tomfoiさん
ご返答・ご提案ありがとうございます。データの持ち方・実装はその方法が一番わかりやすいですね。併せて試してみます。
記載しておりませんでしたが、カットシーンイベント向けにこの手法が取れないか模索しており、今回のカットシーン制作において
【キャラクターのセリフをプレイヤーのボタン入力があるまで表示・キャラを後ろで待機させつづけたい】
という要望があり、
コンテをベースに停止タイミングなどは大まかには決まっているが、どのタイミングのどのポーズで待機するか(どれならOKがでるか)作ってみないとわからない。
→止めたポーズに加算できればループモーションを逐次別途作成するより試行・確認が迅速なのでは。
→シーケンサーなどのカスタムイベントで任意のタイミングで加算できたらよいのでは。
といった意見もあり此度のような方法が取れないかと思い質問させていただきました。
上記の機能が実装できれば私自身としても大変心強いですので、引き続き本質問は置いておかせていただきます。実装方法の確立もしくはアニメーションを分割するなど方針が決まった際には本質問をResolveさせていただきます。
その他お知恵をお持ちの方がいらっしゃいましたらご教授いただけると幸いです。
以上です。よろしくお願いいたします。
tamfoi
(tamfoi)
4
任意のタイミング(アニメーション通知)で加算するモーションのPlayRateを0にすることでその時点のポーズで止め、ユーザー側の入力を受けたら1に戻して残りのモーションを再生するという手があります。
以下にサンプルを作ってみました
実装はレベルブループリントとABP_ATに書いています
なるべく使うBP、変数、アニメーション等を減らすように組もうとしたので連続で入力をいれたりするとおかしくなるので注意が必要です。
link text
サンプルデータの共有ありがとうございます!
この手法でしたら元のアニメーションデータは一つで加算用のモーションがあれば済みますし、ABPの構成もわかりやすくなりますね。
後はステートの切り替えをシーケンサでもできるようにすれば思っていたものにかなり近づく気がします。
ご丁寧にご教授いただきありがとうございました。共有いただいた技術をもとに引き続き試行錯誤行っていきます。
重ねてになりますがありがとうございました!