★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。
新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。
Unity上でのリップシンクについて
Unityでサンプルのリップシンクを参考に実装しているのですが、
リップシンクの終了時(音声再生終了時)に口が開いた状態から
元の口の状態に戻る際、アルファのフェードイン・フェードアウトが
かかってしまうのですが、OFFにすることって可能なのでしょうか?
リップシンクの終了時(音声再生終了時)に口が開いた状態から
元の口の状態に戻る際、アルファのフェードイン・フェードアウトが
かかってしまうのですが、OFFにすることって可能なのでしょうか?
0
コメント
アルファのフェードイン・フェードアウトというと、normalizePartsOpacityGroup()あたりが
思い当たるのですが、使われていたりするでしょうか?
http://sites.cybernoids.jp/cubism2/sdk_tutorial/live2d_library/load_to_display/switch_parts
おそらく、リップシンクのサンプルのみでは同件発生しなかったように思うのですが、
サンプルを参考に実装していく過程で、どのような処理を追加したタイミングで
現象発生したかなどもお教えいただければ、もしかしたらお力になれるかも知れません。
また、モデルはサンプルに含まれるものでしょうか?
もしくは、Modeler・Animatorを使ってご自身が作成されたものでしょうか?
モデルの作りによっても、ご報告いただいた現象が出ることがありそうなので、
ご回答いただけましたら幸いです。
Live2Dモデルはサンプルのデータではなくオリジナルのものです
リップシンクはサンプルコードを元にUpdate()に以下のようなコードを組み込んでます
float volume; if (smoothing) { float currentVolume; currentVolume = (lipSyncText) ? lipTextVol : GetCurrentVolume(asVoice); if (Mathf.Abs(lastVolume - currentVolume) < 0.2f) { volume = lastVolume * 0.9f + currentVolume * 0.1f; } else if (lastVolume - currentVolume < 0.4f) { volume = lastVolume * 0.6f + currentVolume * 0.3f; } else if (lastVolume - currentVolume > 0.4f) { volume = lastVolume * 0.5f + currentVolume * 0.7f; } else { volume = lastVolume * 0.2f + currentVolume * 0.9f; } lastVolume = volume; } else { volume = (lipSyncText) ? lipTextVol : GetCurrentVolume(asVoice); } live2DModel.setParamFloat(lipSyncMouseParam, volume * scaleVolume);
これが具体的にどういう状態なのかわからないのですが、もう少し詳しく教えていただけますか?
口が閉じる際に意図していないのに半透明になってしまうという認識であってますでしょうか?
閉じた口がフェードインする状態になってしまいます。
モーション再生の時のフェードイン、フェードアウトのような感じです。
フェードがかかるということはsmoothingはONになってますよね?
smoothingがONのときは開くときは素早く、閉じるときは遅くなってます。
ちょっとだけ書き換えてみましたがこんな感じだとどうでしょう?
解決しました
閉じる時の速度が遅くなっているのに気付いてませんでした