トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

uLipSyncをVRMで試してみた【Unity/iOS】

凹みさんのNewリップシンク「uLipSync」を触ってみる!

tips.hecomi.com

github.com

VRMでやるぞ

LipSyncの種類

今まではOVRLipSyncが主流?だった

bibinbaleo.hatenablog.com

 ただiOSでストアに出せないという問題があった。(今どうかは知らない) 

bibinbaleo.hatenablog.com

OVRLipSync以外だとSALSAという有料アセットがある。使ってないけど、これはOVRと違って音量から口パクをしているらしい(ソースは忘れた)

assetstore.unity.com

qiita.com

 

マイク音量から単純に口パクさせるならアセット使わなくてもできる

bibinbaleo.hatenablog.com

 

環境準備

Unity2019.4

こちらからUnityPackageをダウンロード

github.com

いれる

f:id:bibinbaleo:20210118143553p:plain

Burst、Mathmaticsというパッケージを検索して入れる

f:id:bibinbaleo:20210118143549p:plain

VRMも入れる

f:id:bibinbaleo:20210118152054p:plain

uLipSyncセットアップ

uLipSyncBlendShape

VRMにuLipSyncBlendShapeをつける

f:id:bibinbaleo:20210118152124p:plain

FindFromChildrenにチェックを入れるとSkinnedMeshRendererを持つものを探してくれるので、Faceを選んで、AIUEOにそれぞれの口の形をセットする。

(最初blendshapeがドロップダウンに出てこなかったけど、FaceをBodyとかに変えたあと戻ったら出てきた)

ULipSync+AudioSource

適当なオブジェクトにAudioSourceとULipSyncをつける

f:id:bibinbaleo:20210118151705p:plain

そしてCallBackにVRMモデルを付けてOnLipSyncUpdateを選ぶ

f:id:bibinbaleo:20210118152421p:plain

マイク

マイクからリアルタイムに口パクさせるにはAudioSourceと同じ場所に、uLipSyncMicrophoneをつける。

f:id:bibinbaleo:20210118173010p:plain

実行中にデバイスを変えたり、マイク入力をストップさせたり、リピートさせたりいろいろできる(ありがたい)

マイクを使わないならAudioSourceに音声を入れたらいい

 

これで口パクする!

f:id:bibinbaleo:20210118172755g:plain

調整

デフォルトの設定だと、何もしゃべっていないのに雑音でパクパクしてた。

パラメーターのMiniVolumeの値を少し上げたら無音のときの口パクなくなった。

f:id:bibinbaleo:20210118173008p:plain

あとOutputを0にしたら、マイクの自分の声がOutputされなくなる!

Visualizer

どの母音判定かをリアルタイムで示してくれる!

f:id:bibinbaleo:20210119101502p:plain

iOSビルド

iOSで動くかが大事!

ビルドついでにMacで動くことは確認した。

f:id:bibinbaleo:20210124220059p:plain

AirPodsで動いたけど、MacだとMinVolumeは0にしないとダメだった

f:id:bibinbaleo:20210124220142p:plain

あとパーミッションを出す必要がありそう。わからないけど

bibinbaleo.hatenablog.com

それでも反応しない

検索したらいくつか設定が必要そう 

Burstエラーでビルドできないとあったけど、私の環境ではそれはなかった。これはM1の問題なのかな?

 maxFreqは周波数

docs.unity3d.com

uLipSyncMicrophone.csのここのことだと思う。

f:id:bibinbaleo:20210124222133p:plain

ここを96000にしてビルドしたら動くけど、無音の時もずっとぱくぱくするようになった><

(minVolumeパラメーターの調整をiOSでもできるようにしたほうがいいかな)

とりあえずminVolumeを0.01とかにして再ビルドしたら動いた!

f:id:bibinbaleo:20210125204714p:plain

「アイウエオ」って言ってます

 ただ、口の形が一定。「あ」の形だけ?

後ちょっと遅れてる感じがするかも

 

最後に

良さそう〜〜

凹みさんも認識しているみたいだし、次のアップデートを待っていいかも!

 他にも精度改善するらしいし