MRが楽しい

MRやVRについて学習したことを書き残す

VRChatの始め方をまとめる(リップシンクの設定編)

本日は VRChat の調査枠です。
前回、VRChat で自作アバターを利用する方法についてまとめました。
bluebirdofoz.hatenablog.com

今回はこのアバターリップシンクの設定を追加します。

リップシンクの作成

リップシンクの設定を行うには、利用するアバターリップシンク用の表情モーフがあることが前提になります。
今回は以下の記事で作成したリップシンクを利用します。
bluebirdofoz.hatenablog.com

自作アバター登録で利用したプロジェクトをそのまま利用します。
f:id:bluebirdofoz:20181104014033j:plain

シェイプキーが設定されたモデルを改めて読み込みなおします。
今回のアバターは Head オブジェクトに Blend Shape が設定されています。
どのオブジェクトにリップシンクが設定されているかは後々必要な情報になるので確認しておきます。
f:id:bluebirdofoz:20181104014043j:plain

モデルを差し替えた場合は、アバター情報の再設定が必要です。
差し替えたゲームオブジェクトの[Add Component]を開き、[VRC Avatar Descriptor]を検索して追加します。
f:id:bluebirdofoz:20181104014055j:plain

追加されたスクリプトの再設定を行います。

・VRC_Avatar Descriptor(Script)
 View Point:Position(視点の位置)
 Default Animation Set:Male(男性)or Famale(女性)
・Pipeline Manager(Script)
 BlueprintID:登録するアバターID(新規追加の場合は空欄)

f:id:bluebirdofoz:20181104014118j:plain

次にリップシンクの設定を追加していきます。
[VRC_Avatar Descriptor(Script)]の[Lip Sync]を[Biseme Blend Shape]に切り替えます。
f:id:bluebirdofoz:20181104014136j:plain

[Face Mesh]の項目が表示されます。
先ほど確認した、リップシンクの Blend Shape が設定されたゲームオブジェクトをドラッグします。
f:id:bluebirdofoz:20181104014146j:plain

設定すべきリップシンク項目の一覧が表示されます。
プルダウンから Blend Shape が設定できるので、適切な Shape を設定する必要があります。
f:id:bluebirdofoz:20181104014155j:plain

VRChatでは発音を自動識別して適切なリップシンクのモーフが動作します。
それぞれのリップシンクが利用される発音については以下のwikiにまとめられています。
vrchatjp.playing.wiki

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

同じ Shape を異なるリップシンクを設定しても問題ありません。
wiki によると、最低限 sil、aa、th を作り、sil=pp=ff、aa=oh=ou、これ以外を th で埋めるという形でも良いようです。
今回は「あ」「い」「う」「え」「お」の Shape キーを作成しているので、それぞれ以下の通り、割り振りました。
「none」が設定されていると駄目なようです。全てのリップシンクを埋めます。

VRC.v_sil:「あ」
VRC.v_PP :「う」
VRC.v_FF :「う」
VRC.v_TH :「お」
VRC.v_DD :「え」
VRC.v_kk :「あ」
VRC.v_CH :「い」
VRC.v_SS :「い」
VRC.v_nn :「え」
VRC.v_RR :「え」
VRC.v_aa :「あ」
VRC.v_E  :「え」
VRC.v_ih :「い」
VRC.v_oh :「お」
VRC.v_ou :「う」

f:id:bluebirdofoz:20181104014216j:plain

リップシンクの設定は異常です。もう一度、アバターのアップロードを行います。
bluebirdofoz.hatenablog.com

VRChat にログインし、鏡に向かって喋ってみます。
リップシンクの設定が成功していれば、マイクの音声に合わせて口が動きます。
f:id:bluebirdofoz:20181104014240j:plain