uLipSyncを久しぶりに使う
2年ぶり!
準備
Unity2022.3.7
uLipSync 3.0.2
PackageManagerでいれた
https://github.com/hecomi/uLipSync.git#upm
サンプルもタブから入れる。CommonとVRMとTimeline

VRM
サンプルシーンを動かす
VRM1.0

実行したら動いた

VRMにAudioSourceと、uLipSyncのスクリプトと

ExpressionVRMというファイルがついてる

VRM0.Xのほうは、ExpressionVRMじゃなくてBlendShapeVRMがついてる

自分のモデルがVRMバージョンどっちかわからない。
0.Xのほうでやったら動いた

uLipSyncUpdateのところで参照するものを自分自身のBlendShaprVRMモデルに変える

試しにExpressionVRMコンポーネント(VRM1.0用)を付けたらこれは1.0じゃないって言われた。最近VroidMobileで作ったばっかりのモデルなのに1.0じゃないんだ

音声録音
Windowsのボイス録画ソフトを使う

Windows11からサウンドレコーダーという名前になった。前はボイスレコーダーだった気がする。
デフォルトだとm4a形式で録音された。これはUnityに取り込めない。
設定でレコーディング形式をmp3に変更できた。

これで適当にしゃべった

そしてサンプルのAudioSourceのAudioClipに入れたら、ちゃんと喋った通りに動いた

Timeline
Timelineのサンプルのほうは、事前に計算したデータを使っている。

uLipSync用のトラック追加

Trackの中のClip?の設定。ここにBakedDataを入れる

モデルにもタイムライン用のコンポーネントがついてる

Bakeデータは、右クリックCreateから空のBakedDataを作って

そのインスペクタ内でプロファイルとAudioClipを選んでBakeして作れる

そしてタイムラインに組み込んだら自分の音声で動いた!

VRMではこんな感じ

Animationデータ
今の本番環境だとuLipSyncアセットがエラーが出てなぜか動かないし、動いたとしてもWebGLビルドの時にもエラーが出てた気がするから、別のきれいなUnityProjectでAnimationデータとして口パクを書き出せないかな~と思ったらなんとその機能もあった!すごい!
AnimationBakeサンプルで見れる
本当にアニメーションになってる!シーンのモデルについているuLipSyncコンポーネントを消しても動く!

自分で作るにはここからウィンドウを出して

いろいろセット

したけどエラーが出てCreate output directoryで止まってしまう

エラーにはThe variable skinnedMeshRenderer of uLipSyncBlendShapeVRM has not been assigned.と書いてある。

uLipSyncBlendShapeVRMにはskinnedMeshRendererをセットするとこないんだけどな~
使えないのかな;;
あとこのプログレスウィンドウを消すすべがUnityごと消すしかないのがつらい
元からついていたVRMモデルで試してもダメで、Unityちゃんで試したらできたのでやっぱりuLipSyncBlendShapeVRMのせいっぽい
追記
VRMでのやり方の記事を書いていただけました!!
uLipSyncBlendShapeVRMははずして、uLipSyncBlendShapeをつけ、Faceを選び以下のようにする

一回これ試したとき、BlendShapesに新しい項目を追加しても、BlendShapeのところに何も出てこなかったので、使えないのかなと思ったが、項目追加した後にもう一度Face以外のBodyとかにしてFaceを選びなおしたらいろいろ候補が出てくるようになった

これで作ったらエラーをはかずAnimationClipができた!

できたAnimationClipをTimelineに設定したらうごいた

Animatorの中に生成された口パクAnimationを設定しても動く


別プロジェクトへ
同じモデルに対して別のUnityプロジェクトで口パクアニメーションを作って、本番用のUnityプロジェクトにAnimationClipだけ持ってきて動くのだろうか?
動いた!!!!
しかも別のモデルでもVRM同士だからなのか同じBlendShape名?だからなのか適用した!やった~
もともと本番プロジェクトのほうのキャラは手動のキー打ちで口パクとか表情を付けていたので、口に関するキーは消して、持ってきた口パクアニメーションをTimelineに追加したら完全にぱくぱくした!
