SDK2.0のサンプルファイルで、リップシンクがしたい。
お世話になっております。サンプルファイル内に「Lipsync」というサンプルがあり、音声に合わせて口が動くのですが、これと同じことを「SamleApp1」で行うにはどうすればいいですか?
それっぽいコードをコピーしてみましたが、うまくいきません。
もともと「SamleApp1」内にもLipsyncに関する記述があるようですが、実際には口パクと連動しません。
以前はanimatorでモーションと口パクを設定していましたが、できればモーションと音声の組み合わせを自由に行いたいので、リップシンクの記述を教えてください。
よろしくお願いします。
それっぽいコードをコピーしてみましたが、うまくいきません。
もともと「SamleApp1」内にもLipsyncに関する記述があるようですが、実際には口パクと連動しません。
以前はanimatorでモーションと口パクを設定していましたが、できればモーションと音声の組み合わせを自由に行いたいので、リップシンクの記述を教えてください。
よろしくお願いします。
0
コメント
LAppModel.update() 内の
live2DModel.update();
の直前に以下を追加してみてください。
AudioSource audioSource = parent.gameObject.GetComponent ();
live2DModel.setParamFloat (
L2DStandardID.PARAM_MOUTH_OPEN_Y,
GetCurrentVolume(audioSource) * 10.0f, //※
0.8f);
※:GetCurrentVolume()で取得される値は0~1の範囲です。SDK付属のサンプルモデルの最大値は10なので小さすぎるので10倍しています。
さて、私もやってみたのですが・・・エラーです。
ソースの画像を添付しました。挿入する場所とソースは合ってますでしょう
か?
ただし追加してもエラーは出なくなりましたが、リップシンクは効きませんでした><
上記のソースを追加したために行番号が変わったので、下の部分をもう一度添付します。
エラーはこの最初の行(281行目)を指しています。
Assets/Scripts/sample/LAppModel.cs(281,61): error CS0411: The type arguments for method `UnityEngine.GameObject.GetComponent()' cannot be inferred from the usage. Try specifying the type arguments explicitly
以下の<、>を半角にしてエラーが出ていた行に差替えてください。
AudioSource audioSource = parent.gameObject.GetComponent <AudioSource>();
これでセリフごとにモーションを作らなくて済むので、動作のバリエーションが作りやすくなりました。
現在は違う方法になったのでしょうか?
↑ 上の方の行を追加しただけでこのようなエラーが出ます。