新しいLive2D公式コミュニティ(日本向け)が公開されました!
ぜひご利用ください!
Live2D公式コミュニティ

■このコミュニティの今後について
このコミュニティ(forum.live2d.com)につきましては、しばらくの間新コミュニティと並行して運営しますが、2022年内を目処に閉鎖する予定です。
閉鎖時期や内容については決定次第お知らせいたします。
海外向けコミュニティについては変更ございません。
【各最新OSの対応状況について】
Cubism Editorは 4.1.02 正式版以降でWindows 11 及び macOS Monterey に対応しております。ぜひ最新版をご利用ください。
※macOSをお使いの方でOSアップデートする際は必ずCubism Editorのライセンスを解除してください。
Cubism EditorをインストールしているmacOSをアップグレードしたい
Cubism SDKについては各SDKのREADMEまたはNOTICEをご確認ください。

【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

Unity2020+SDK-R2環境下、LateUpdate()でのパラメーター制御が反映されません

Unityバージョン:2020.2.4f1/ 2020.3.2f1/ 2021.1.0f1
SDKバージョン4-r.2

scriptはこのようになっています
public CubismModel koharu;
private void LateUpdate()
{
koharu.Parameters[0].Value = -30;
}

結果:
ご覧の通り、inspector上のparameter[0]の値はLateUpdate()の「-30」(顔が左に向く)になっていますが、実際のレンダー結果はanimatorの値「0」(顔が正面)のままです。
いろいろ試した結果、live2Dのprefabにアタッチされている「Cubism Update Controller」をruntimeで一度無効にし、再度有効にすれば、LateUpdate()での制御が正常に戻ることが分かりました。


なので、とりあえず
void Start()
{
Cubism Update Controller.enabled = false;
Cubism Update Controller.enabled = true;
}
を入れて、Unity2020で作業を続行するつもりですが、
もし他に解決方法があれば、お知らせていただければ助かります。
Yuzuka4573

コメント

  • 編集済: 4月 2021
    Unityバージョン:2020.3.0f1
    SDKバージョン4-r.2

    Syuさんと同じ現象にあっていたので、見させてもらってます。

    一応役に立つかわかりませんが、
    プロジェクトをビルドしたときは、CubismUpdateControllerの有効化切り替えをしなくても動作しているようなので、Unity Editor限定での現象ではないかと推測できます。
  • Yuzukaさん

    ご返信ありがとうございます。
    Editor限定かどうか確認していませんが、挙動からしてその可能性は高いと思います。
    しかしそれでも十分作業の支障になりますね…

    あと、この現象は多分稀ではないかと思います。
    一ヶ月前にunity2020で作成したLive2D制御の練習プロジェクトも、当時はしっかり制御できていたのに、今は動かなくなっています。
    一体何がどうなっているのやら…
  • 編集済: 4月 2021

    Syuさん


    この現象、Editorではほぼ100%発生するのですが、CubismUpdateControllerの有効無効化で100%解決しないこと、Buildしても実は動作しない時があるってのがわかりました

    もしかしてExecuteScriptOrderの関係もあるのかな?と思い、デフォルトの前、後にCubismUpdateControllerを指定して、動かしましたが、変化がありませんでした

    あとはあんまり期待はしてませんが、Editorのバージョンで2020がダメとかあるのかな…と

    (2019使ってた時にはなかった現象だった気がしたので、確認予定)

  • Yuzukaさん

    2019は多分大丈夫だと思いますよ。この間使っていた時はしっかり制御できていました、。

    それにしても、buildしたら実はダメだったとかはひどいですね…
    他にも変な挙動がないかも心配です…

    やはり安全第一ということで、2019に戻します。貴重な情報、ありがとうございました。

  • @Yuzuka4573
    @Syu

    弊社製品をご利用いただき誠にありがとうございます。
    Live2D スタッフのTakと申します。

    LateUpdate()でのパラメーター制御が反映されない現象につきまして、ご不便をおかけしており大変申し訳ありません。
    現象を調査したところ、Cubism SDK for Unity で使用しているPlayerLoopの仕様がUnity2020で変更されたことにより、LateUpdateによるパラメータ値操作が行われないことが判明しました。
    つきましては大変お手数ではございますが、これを修正したコードファイルを添付いたしますので、同名のファイルに適用し動作のご確認をお願いいたします。

    この修正内容は次回のCubism SDK for Unity バージョンアップで適用される予定です。

    上記ご確認の程、よろしくお願いいたします。
    Syu
  • @Tak (staff) さん

    先程頂いたスクリプトを適用してみたところ、Unity2020での動作をEditor、Build済みexeで確認しました。
    迅速なご対応本当にありがとうございました!
    Tak (staff)Syu
  • Takさん

    ご対応ありがとうございます!
    これで安心して作業を続けられます。 
    Tak (staff)
コメントするにはサインインまたは登録して下さい。