★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

Animatorでの設定?について

質問があります。
Modelerでパラメーター『0~1』を設定し、
※腕を伸ばした状態が0、曲げた状態を1と仮定
Animatorにてタイムラインの1フレーム目に
パラメーター1を設定している(仮称としてモーション名:taparmとします)のですが、
unityで動作確認した際に
「idle」から「taparm」に切り替わる際に
パラメーター1から始まる(腕を曲げた状態)のではなく
パラメーター0~1(腕を伸ばした状態から曲げた状態までの補完動作)が間に入り、その後にtaparmが再生されます。
「パラメーター0~1(腕を伸ばした状態から曲げた状態までの補完動作)」を除いて再生したいのですが
どのように設定すればいいのでしょうか。

当方のイメージは
Live2Dのサンプルモデル「haru」において、
「idle」モーションから「tapbody2」モーションに切り替わる際の
腕の動作の切り替わりでありますが、
こちらは2種類のパーツの切り替わりによって表現されているものなのでしょうか。


現状では当方のデータは
腕のパーツの切り替わりはなしの1種類のみとなりますため、
当方がイメージする動作にするには
2種類の腕(伸ばした状態と曲げた状態のパーツ)が必要となりますでしょうか。
※アニメーションの設定内容の確認としましたので、
Cubism Editor 3にて質問させていただきます。

コメント

  • @herox_777 さん

    > 「パラメーター0~1(腕を伸ばした状態から曲げた状態までの補完動作)」を除いて再生したいのですが
    > どのように設定すればいいのでしょうか。
    Cubism3には、モーション間のフェード関連の設定を行う機能はございません。
    Unityでは、フェード時間はMecanimに作成されたTransitionのTransition Durationで設定します。



    > Live2Dのサンプルモデル「haru」において、
    > 「idle」モーションから「tapbody2」モーションに切り替わる際の
    > 腕の動作の切り替わりでありますが、
    > こちらは2種類のパーツの切り替わりによって表現されているものなのでしょうか。
    おっしゃられた通り、Haruのモデルには降ろした腕と組んだ腕の二つのパーツが用意されており、
    モーションによってそれらの不透明度を切り替えております。


    希望されている動作の実現方法はいくつかあり、必ずしもパーツは分割する必要はありません。
    分割しないのであれば、あくまで一例ですが、パーツの状態だけを別のレイヤーで状態の遷移を管理する方法はいかがでしょうか?
    この方法であれば、特定のパラメータだけ他と異なるフェード時間を設定することが出来ます。
  • ご回答ありがとうございます。
    ご提示いただいた内容を確認しながらもいろいろと試してみましたが
    当方の理解不足もあってか想定どおりの動作になりませんでした。
    お手数をお掛けしますが、

    >>分割しないのであれば、あくまで一例ですが、パーツの状態だけを別のレイヤーで状態の遷移を管理する方法はいかがでしょうか?
    >>この方法であれば、特定のパラメータだけ他と異なるフェード時間を設定することが出来ます。
    上記例で構いませんため、参考画像などでもう少し詳しく設定内容をお聞きすることは可能でしょうか。
    ※なおモデルは3.0用ではなく2.1用にて動作確認・使用予定です。
  • @herox_777様

    @y_a_s_(Dev Staff)に代わってk_komineがお答えいたします。
    よろしくお願いいたします。

    >※なおモデルは3.0用ではなく2.1用にて動作確認・使用予定です。
    Unityでお使いになられているSDKのバージョンは3.1ということで大丈夫でしょうか?
    UnitySDKには2.1と3.1の二つのバージョンがあり、アニメーションの制御方法に大分違いがあるので
    まずはこの点をお教え願えますでしょうか?

    よろしくお願いいたします。
  • k_komine(Staff) 様

    すいません、お伝え漏れしておりました。
    SDKのバージョンは2.1となります。
  • @herox_777様

    お答えいただきありがとうございます。
    Live2D Cubism 2.1 SDK for Unityを使用し、mtnファイルによってモーションを制御するという前提でお話させていただきます。

    mtnモーションファイルの切り替え時間について、指定する方法は大きく分けて2つあります。
    ・model.jsonの設定で切り替え時間を指定する方法
    ・mtnモーションファイルに”個別”のパラーメーターの切り替え時間を設定する方法
    mtnモーションファイルに全体の切り替え時間を指定することはできますが、
    Unityのスクリプト側でmodel.jsonの読み込み時の設定で上書きされてしまいます。


    まずはmodel.jsonでの指定方法です。
    Live2D Viewerでモーションの設定の項目を開いていただき、
    フェイドインの上書き、フェイドアウトの上書きの値を入力してください。
    その後出力したmodel.jsonを差し替えていただければ切り替え時間が指定したとおりになります。
    model.jsonのファイルを直接テキストエディタで編集していただいても大丈夫です。



    つぎに個別のパラメーターについての切り替え時間を指定する方法ですが
    Cubism 3.1のAnimatiorに使われているmtn出力機能ではmtnモーションファイルに切り替え時間(fadein,fadeout)の設定ができません。
    もしCubism Animatior2.1をお持ちの場合、該当のキーフレームを指定した状態で右クリック>フェードイン・フェードアウトの設定をひらき、
    選択中のパラメーターを選択して入力していただければ個別の切り替え時間を指定できます。
    うまく設定できていれば他の切り替え時間と表記が切り替わっているのを確認できるかとおもいます。


    個別フェードの設定の詳細については、 こちら を参照してください。

    mtnモーションファイルを直接テキストエディタで編集する方法もあります。
    その場合は$fps~の記述の後に
    $fadein:パラメーター名=時間
    $fadeout:パラメーター名=時間
    と記述していただければ動作いたします。

    もしポーズは瞬間的に切り替わるが見た目がフェードして切り替わるような表現をお求めの場合は、
    やはり腕のパーツを複製していただき、腕の制御用のパラメーター、腕の切り替え用のパラメーターと増やして
    モデル自体で対応するほかないと思われます。

    よろしくお願いいたします。
  • 詳細な説明ありがとうございました。
    軽く触ってみましたが解決できそうですので
    上記を参考に進めてみたいと思います。
コメントするにはサインインまたは登録して下さい。