Quest・HTC viveほかVR機器対応ゲーム『VRChat』のwikiです。ここでは基本説明と自作アバターの追加方法などを載せていきます。

概要

リップシンクに必要な作業は2点あります。
1.3Dモデルに口の動き(モーフ/ブレンドシェイプ/シェイプキー)を設定する。
2.Unity上でモーフ(特定の動きを切り取ったもの、と理解してください)を設定する。

既成のモデル等で既に口の動きが入ってる場合は2の作業だけである程度動作します。
ここでは、どのようなモーフを作ればいいかだけを解説します。

1.3Dモデルに口のモーフを設定する。


Blenderの場合
*シェイプキーを作る前に必ずミラーリングモディファイヤを適用してください

【資料】 http://blender-cg.net/shape-keys/

Objectモードで口が含まれるメッシュを選択
Propertyウィンドウからメッシュのアイコンを選択
▼ShapeKeysで+ボタンを1回クリック、Basisができる もう一回クリックしてKey1ができる
これから作りたい任意のシェイプキーにリネーム

2.Unity上でモーフを設定する。

リップシンクの自動一括設定ツール
https://kumattass.booth.pm/items/946572



アバターに設定された[VRC_Avatar Descriptor]の[Lip Sync]に[Viseme Blend Shape]を選択して
右の○をクリック(もしくはHierarchyからシェイプキーが登録されたメッシュをD&D)
その後、下に出てくる各項目毎にシェイプキーを登録する
シェイプキーは兼用してもかまいませんが、noneではなくすべてVRC.v_〜で埋めること

資料

Blender to Unity Vrchat Avatar Creation
顔が含まれるメッシュに15のシェイプキーを作る必要があります
下の方に具体的な顔の形がありますので、お手元のモデルの口を近い形に変形させると良いでしょう
資料では瞬きのシェイプキーが一緒に書かれていますが、リップシンクは口の部分だけ用意すれば動作します

必要なシェイプキー一覧
vrc.v_sil :真顔
vrc.v_pp :Mをネイティブっぽく発音したエンムのム「にやり」か「ω」が近い
vrc.v_aa :「あ」 #最初に作る
vrc.v_oh :「お」か「う」下記より口を広げている方 #aaの横を圧縮
vrc.v_ou :「お」か「う」上記より口をすぼめている方 #ohの横を圧縮
vrc.v_ih :「あ2」ないし「あ3」それらがない場合「あ」か「□」のモーフを複製し適用 #aaの50%
vrc.v_th :「ih」に近いので複製 #ihをコピー
vrc.v_nn :「ん」ないし「ih」か「dd」のモーフを複製 #ihの舌を持ち上げる
vrc.v_dd :控えめな「え」 #nnを少し下あごを閉じる
vrc.v_kk :「ih」と同じで口元が気持ち上がる感じ「ワ」も範囲に入る #ihの舌と上唇を上げる
vrc.v_ff :英語的なふの発音「□」が近い #aaの20%ぐらい 下唇を軽く噛む
vrc.v_e :「え」 #いの口
vrc.v_ch :「ss」よりも口をすぼめた「い」 #eの横を圧縮
vrc.v_rr :「□」が近いので「ff」を複製 #chの下あごを広げる
vrc.v_ss :「ch」よりも口を広げた「い」「ch」を複製しても良いかも #eの上唇をまっすぐ閉じる

以上の通り15種類のシェイプキーが必要ですが、最低限、sil、aa、thを作るだけでもそれなりにしゃべって見えるようになります。
sil=pp=ff、aa=oh=ou、これ以外をthで埋めます
ただし、Unityでリップシンクを設定する際、ohまたはouとaaに同じリップシンクを入れるとaaが全く反応しなくなるので、その点に注意して下さい


Unity でリップシンクができる OVRLipSync を試してみた
VRchatでは使いませんが理屈は同じです

Menu

アバターの導入(アップロード)

その他

どなたでも編集できます