★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
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で作業を続行するつもりですが、
もし他に解決方法があれば、お知らせていただければ助かります。
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で作業を続行するつもりですが、
もし他に解決方法があれば、お知らせていただければ助かります。
1
コメント
SDKバージョン4-r.2
Syuさんと同じ現象にあっていたので、見させてもらってます。
一応役に立つかわかりませんが、
プロジェクトをビルドしたときは、CubismUpdateControllerの有効化切り替えをしなくても動作しているようなので、Unity Editor限定での現象ではないかと推測できます。
ご返信ありがとうございます。
Editor限定かどうか確認していませんが、挙動からしてその可能性は高いと思います。
しかしそれでも十分作業の支障になりますね…
あと、この現象は多分稀ではないかと思います。
一ヶ月前にunity2020で作成したLive2D制御の練習プロジェクトも、当時はしっかり制御できていたのに、今は動かなくなっています。
一体何がどうなっているのやら…
Syuさん
この現象、Editorではほぼ100%発生するのですが、CubismUpdateControllerの有効無効化で100%解決しないこと、Buildしても実は動作しない時があるってのがわかりました
もしかしてExecuteScriptOrderの関係もあるのかな?と思い、デフォルトの前、後にCubismUpdateControllerを指定して、動かしましたが、変化がありませんでした
あとはあんまり期待はしてませんが、Editorのバージョンで2020がダメとかあるのかな…と
(2019使ってた時にはなかった現象だった気がしたので、確認予定)
2019は多分大丈夫だと思いますよ。この間使っていた時はしっかり制御できていました、。
それにしても、buildしたら実はダメだったとかはひどいですね…
他にも変な挙動がないかも心配です…
やはり安全第一ということで、2019に戻します。貴重な情報、ありがとうございました。
@Syu 様
弊社製品をご利用いただき誠にありがとうございます。
Live2D スタッフのTakと申します。
LateUpdate()でのパラメーター制御が反映されない現象につきまして、ご不便をおかけしており大変申し訳ありません。
現象を調査したところ、Cubism SDK for Unity で使用しているPlayerLoopの仕様がUnity2020で変更されたことにより、LateUpdateによるパラメータ値操作が行われないことが判明しました。
つきましては大変お手数ではございますが、これを修正したコードファイルを添付いたしますので、同名のファイルに適用し動作のご確認をお願いいたします。
この修正内容は次回のCubism SDK for Unity バージョンアップで適用される予定です。
上記ご確認の程、よろしくお願いいたします。
先程頂いたスクリプトを適用してみたところ、Unity2020での動作をEditor、Build済みexeで確認しました。
迅速なご対応本当にありがとうございました!
ご対応ありがとうございます!
これで安心して作業を続けられます。