アバターに色々と機能を付けている。今回はリップシンクを追加したわけだが思いのほか苦労してしまい,1日半の試行錯誤が発生した。
しかしなんとか解決できたので,ノウハウとして記録を残しておく。
ちなみに当サイトを立ち上げた目的は,このように長時間悩んだのちに編み出した,最短ルートを記録していくためである。
リップシンクしない
Blenderでシェイプキーを登録したfbxファイルを書き出し,Unityに読ませ,VRC Avatar Descriptorをセットした。VRC Avatar DescriptorのInspecorにLipSync項があるので,ネット上の情報どおり「Viseme Blend Shape」を選択し,シェイプキーの割り当てはできた。
しかし,VRChatに持って行っても動かない。公式のアバターで同様のことをやっても動かない。
この手順でやったら動いた
最短ルートの手順を下記したので,順番にやっていってほしい。
1.準備
(1)【VRChat】リップシンク テンプレート【Avatars3.0】をダウンロードしておく。(https://booth.pm/ja/items/3833776)(あざす!)
(2)Blenderにてシェイプキーを作っておく。上記(1)のテンプレートを使う関係で,シェイプキーの名称は以下のようにしておくこと。(こうしておくと一発で決まる)

シェイプキーをこの命名規則にすること。モデルを.fbxファイルとして出力し,Unityに取り込んでおく。
2.Unityでの操作
(1)unityにアバターを展開し,VRC Avatar Descriptorをアタッチしておく。 (無ければAdd Componentボタンを押して,検索窓に「vrc av」と入力して出てくるのでクリック)

(2)上記1項(1)でダウンロードしたzipファイルを展開して,中にある.unitypackageファイルを,UnityのProjectウインドウにドラッグ&ドロップする。

ウインドウが開いたら「Import」ボタンをクリックする。
(3)下記はやらなくても一応動く。
上記(2)で展開される下記ファイルを使いたい場所(Asset\Characterとか)に移動する。

(4)アバターをクリックする。InspectorウインドウのLipSync項のModeを「Default」→「Viseme Parameter Only」にする

(5)以下の手順にて,アバターのPlayable LayersのFX欄に,上記(3)で移動したSmartLipSyncを持ってくる。




以上でアバターにリップシンクが組み込まれる!
3.動作検証
(1)VRChatにアップロードする。
(2)VRChatを起動し,アバターをアップロードしたものに切り替える。
(3)鏡の前に立つ。
(4)マイクのOFFを解除して,しゃべってみる。声に連動してアバターの口が動けばOK!

Written by ねんが
