Unity宴ツールでLive2Dを使用したゲームを製作中です。
モーションA(ループ)からモーションBに遷移させる際、遷移自体は問題なく行われるのですが、現状挙動としては
「モーションAが高速で最初のフレームまで巻き戻る」→「モーションBを再生」
という動きになってしまっており困っています。これを
「モーションAが等速で最終フレームまで再生」→「モーションBを再生」
という動きにするにはどういった設定にすれば良いのでしょうか…宴ツール側の設定かCubismforUnity側の設定なのかの判断ができなかったのでこちらで質問させていただくのですが、質問場所が相違していた場合は申し訳ございません…
@obustat 様
いつも弊社製品をご愛顧のほど誠にありがとうございます。
Live2D スタッフでございます。
こちらはリピートが設定されたパラメータが存在するものでしょうか?
もしそうであれば、Unity上で生成されたモデルのプレハブに、CubismRepeatController をつけて現象が解消するかをご確認いただけませんでしょうか?
よろしくお願いいたします。
ご回答いただきありがとうございます…
結論から申し上げますとCubismRepeatControllerコンポーネントをつけても解消しませんでした。
質問内容が不明瞭で申し訳ありません、モーションというのはCubismで作成したモーションをUnityにインポートすることで生成されたAnimationClipのことで、LoopTimeにチェックを入れることでループモーションとして使用しているものになります。
こちらを宴ツール上でモーションA(ループモーション)→モーションB へと遷移させています(宴ツールでのモーション遷移の方法は添付画像のようにエクセル上でモーション名を並べるだけでできるものです)
UnityMecanim上でトランジションを繋いで遷移させているわけではないこともあり、ここの遷移方法を制御しているのが宴ツール側なのか、Unity側なのか、CubismforUnityの何らかのコンポーネントなのかがわからず質問させていただいた次第です。
宴ツールの開発者様にはまだ質問をしていませんので、もしこちらが宴ツール側の範疇の事案ということでしたらその旨ご教示いただけますと幸いです…
恐れ入りますが何卒、よろしくお願いいたします。
宴ツールでのLive2D設定方法:Live2D | Unity用ビジュアルノベルツール「宴」
@obustat 様
回答ありがとうございます。
Cubism SDK for Unityにおけるアニメーション、およびモーションとモーションの切り替わりは、基本的にUnityの機能を利用しています。
Cubism SDK for Unityの機能であるMotionFadeも利用していますが、複数のモーションが切り替わる際のブレンド比率を操作しているだけで基本的にはUnityの動作と同様です。
こちらの現象ですが、時計の針のように回転する動作で発生しているものでしょうか?
Unity上でモーションが切り替わると、現在のモーションAの値からモーションBの値に滑らかに遷移します。
仮に、モーションAによってモデルのパラメータの値が-30から+30に操作され、その後同様に値が-30から+30に変化するモーションBに切り替わると、遷移中は値が+30から-30に滑らかに遷移し、遷移が終わったところから+30に遷移します。
基本的にはこのような動作でも表現的に特に問題はないかと思いますが、これが回転する部分で発生すると、何周も回ってほしいものがモーションの遷移中に逆回転してしまいます。
現象が発生している動作は、このようなものではありませんでしょうか?
ご確認よろしくお願いいたします。
ご回答いただきありがとうございます。
おそらくご指摘の通りの作り方をしてしまっているように思います。
モーションA(ループ)はCubismのリピート機能を使用したパラメータで0→1の動きを作り
その後遷移するモーションBは同じパラメータで0→0.5の動きを作っています
結果A→Bへの遷移実行時にモーションAが一度0に巻き戻り、Bに遷移しているような動きになっているように思います。
@obustat 様
ご回答ありがとうございます。
「モーションAが等速で最終フレームまで再生」→「モーションBを再生」
こちらの動作についてですが、UnityのAnimatorで、モーションAからモーションBに繋げられた矢印を選択して、Inspectorから「Has Exit Time」にチェックを入れることで設定が可能となります。
よろしくお願いいたします。
ご回答ありがとうございます
現状宴ツール上で行うモーション遷移ではUnityMecanim上のトランジションの設定は使用していないため、その方法で直接解決するのは難しそうです…
とはいえ、先日ご教示いただいた情報「Cubism SDK for Unityにおけるアニメーション、およびモーションとモーションの切り替わりは、基本的にUnityの機能を利用している」という点を踏まえて考えますと、先に宴ツールの作者様に「宴ツール上でモーション遷移はどのように制御しているのか」について問い合わせる方が良いように思いましたので、いったんこちらでの質問は保留にさせていただきたいと思います。
ono-at-live2d-com様のご回答のおかげでUnity,Live2Dへの理解が深まり、情報が整理できました!ご丁寧に対応していただきありがとうございます。
「いいね!」 1
宴ツール作者様に問い合わせを行い、無事解決できました!
具体的方法はこちらにご教示いただいております↓
これにてこちらのチケットは解決済とさせていただきます。
ono-at-live2d-com様、ご丁寧に対応いただきありがとうございました!
「いいね!」 1