FaceID対応のBlendShapeリスト(
Apple Developer Center)
モデリングソフトで52個の新規シェイプキーを追加します
一部のBlendShapeは、モデル標準のBlendShapeから形状をコピーして作ることができます(Blenderの場合 頂点メニュー「任意のシェイプキーを選択部に合成」)
おすすめ便利ツール
sort_shapekeys
Appleが定義したBlendShape文字列で空シェイプキーを52個一括作成できるアドオン
一部のアプリ・ツールは、この文字列が異なると動作しません。入力ミスを防ぐためにも便利なツールです
github.com
iFacialMocap
Blenderアドオンを使うと、Blender上で顔をリアルタイムに動かしながらBlendShapeを作成することができます
iFacialMocap
www.ifacialmocap.com
眉関連
眉の内側を中心として眉全体を持ち上げる 眉尻の位置はあまり動かさない
左右の眉頭をすこし離すとリラックス感が出る
他のすべての眉シェイプキーと関連して動くため、合成したときの形状に注意すること
眉にかかわる他のシェイプキーは以下の3種
browDown(Left・Right)
browOuterUp(Left・Right)
noseSneer(Left・Right)
視線関連
ほとんどの
VRMで、眼球そのものの動きはボーンにより制御されている
これらのBlendShapeの設定はなくてもよいが、ボーンの動きに伴って目元も変化させることでより自然な表情にできる
(動かしすぎると まばたき・笑い目と重なったとき破綻するので注意)
例:上下のまぶたをわずかに上げる
例:上まぶたをわずかに下げる
例:目頭側をわずかに開く
例:目尻側をわずかに開く
目
まばたき 目を閉じる形
モデル標準の閉じ目をそのまま流用可能
笑い目
モデル標準でよくある「完全に閉じた笑い目」だと、まばたきと重なったとき破綻する 閉じ方を弱める必要がある
キャ
ラクターの個性によるが、下まぶたをしっかり持ち上げると印象的な笑い目になる
びっくり目
モデル標準のびっくり目をそのまま流用可能
頬
ほっぺプクー 空気が漏れないよう唇を閉じ気味にする
正面から見たときも膨らみがわかるよう、下方向にも膨らませるのがおすすめ
左右の頬だけでなく、口の部分も前に出す(歯と唇の間に空気を入れるイメージ)とよりかわいい感じになる
歯や舌を動かしてしまわないよう注意
口角を吊り上げる、口を横に広げる
Smileの口に動きを追加し、より大きな笑顔をつくる
笑ったときの口の形を決定する(口角を鋭角・鈍角にするなど)
鼻
鼻をしかめる 鼻自体は目立たないため動かすメリットは少ない
眉をぎゅっとしかめる動作として実装することができる 眉頭を下げ、眉を内側に寄せる(このとき眉全体の位置は変えないこと)
追加メッシュを使い、眉間にシワを追加するなどの演出も可能
ほかの眉シェイプキーと合成したときの形状に注意
特にbrowDown(Left・Right)と合成したときに眉が下がりすぎないこと
顎
顎を開いた状態の唇の開き、歯と舌の位置を決定するシェイプキー
口を開いた状態の歯の位置はここで設定する(他のBlendShapeでは動かさないこと!)
本来、上あごの歯は頭蓋骨に固定されていて一切動かないのですが
3Dモデルのウソとして上あごの歯が上に上がります
歯は目立たないほうが可愛い印象になります 上の歯をより上に・下の歯をより下に動かし、唇の裏に隠すのがおすすめ
口回りのあらゆるシェイプキーと関わってきます
・mouthPucker:メインの口のフォルムを形成する
合成したときに口が丸形・やや縦長 の形になること
・mouthClose:唇を閉じたまま顎をひらいたとき、あいてしまう口を閉じる
合成したときに口が閉じること
VRoidのMTH_Aの舌は丸めて収納されており、TongeOutで舌を出したときに口を開くと舌が自然に曲がってくれる
下顎・下の歯・舌を前に出す 上の歯は動きません
下顎・下の歯・舌を左に動かす 上の歯は動きません
舌だけ単独でさらに左に動かすと、じっさいに舌をうごかしたとき、自然にモデルの舌が動きます (人間は舌を横に動かすとき顎が動くため)
下顎・下の歯・舌を右に動かす 上の歯は動きません
舌だけ単独でさらに右に動かすと、じっさいに舌をうごかしたとき、自然にモデルの舌が動きます(人間は舌を横に動かすとき顎が動くため)
唇
唇を剥き出してじょうごのように広げる形
口がすこし開きます
歯は動かないので単体だと人を威嚇するような表情です
mouthPuckerと同時に動かすとキスの口になります
口の横幅を小さくすぼめ、唇が突き出る形 「う」の口
jaw openとともにメインの口のフォルムを形成します
「任意のシェイプキーを選択部に合成」を使うときれいに作ることができます
メッシュ全体を選択し、初期状態の顔にjawOpenの形状を+1で追加する
⇒唇の頂点を選択し、やや前方に出す
⇒唇の頂点を選択し、幅を縮めて縦長に整える
⇒唇の中央部分を選択し、プロポーショナル編集でX方向にやや拡大する
(これをしないと下唇が下に尖って▽のような口になりがち)
⇒メッシュ全体を選択し、jawOpenの形状を-1で削除する
左の口角を左上に持ち上げるように動かす
舌だけ単独でさらにXZ座標上で左に回転させると、じっさいに舌をうごかしたとき、自然にモデルの舌が動きます (人間は舌を横に突き出すとき口が動くため)
右の口角を右上に持ち上げるように動かす
舌だけ単独でさらにXZ座標上で右に回転させると、じっさいに舌をうごかしたとき、自然にモデルの舌が動きます (人間は舌を横に突き出すとき口が動くため)
上の歯に上唇をかぶせて丸め込む ものを口に含んでモグモグするときの形
下の歯に下唇をかぶせて丸めこむ ものを口に含んでモグモグするときの形
上唇をぎゅっと引き結ぶ形
mouthShrugLowerと同時に動かしてきれいに引き結ばれること
mouthFrownと同時に動いてへの字の口を形成する
下唇をぎゅっと引き結ぶ形
mouthShrugUpperと同時に動かしてきれいに引き結ばれること
mouthFrownと同時に動いてへの字の口を形成する
唇を閉じた状態でjawOpenで顎を開くと口がぽっかり空いてしまうため これを閉じるためのシェイプキー
逆に、jawOpenに対してmouthCloseが大きすぎると口が埋もれてしまう
jawOpenと同時に動かしたとき口がぴったり閉じること
「任意のシェイプキーを選択部に合成」で、jawOpenの形状を唇にマイナス値で適用
左の口角を引き上げて笑顔の口をつくる
笑ったときの口の形を決定する(口角を鋭角・鈍角にするなど)
jawOpenと合成したとき自然な笑顔の口になること
舌だけ単独で下に動かすと(MTH_Aなど口を開けたときの舌を流用)、じっさいに舌を出したとき、自然にモデルの舌が下に伸びます(人間は舌を伸ばすとき口角があがるため)
右の口角を引き上げて笑顔の口をつくる
笑ったときの口の形を決定する(口角を鋭角・鈍角にするなど)
jawOpenと合成したとき自然な笑顔の口になること
舌だけ単独で下に動かすと(MTH_Aなど口を開けたときの舌を流用)、じっさいに舌を出したとき、自然にモデルの舌が下に伸びます(人間は舌を伸ばすとき口角があがるため)
左の口角を引き下げ への字の口をつくる
jawOpenと合成したとき自然な「不機嫌そうな口」になること
左の口角を引き下げ への字の口をつくる
jawOpenと合成したとき自然な「不機嫌そうな口」になること
左の口角を奥側に引っ張る(横顔で確認)
横側から見たときの口の表情を形成する
右の口角を奥側に引っ張る(横顔で確認)
横側から見たときの口の表情を形成する
上唇を上に引き上げて上の歯を剥き出す
サシスセソの口がくっきりする 変顔もできる
作成時は上唇全体で作成し、最後に左右に分ける
このとき、顔の中央の頂点はそのままだと合成されて2倍のウエイトがかかってしまう
Basisのシェイプキーを0.5かけてウエイトを半分に減衰させること
下唇を下に引き下げて下の歯を剥き出す
サシスセソの口がくっきりする 変顔もできる
作成時は下唇全体で作成し、最後に左右に分ける
このとき、顔の中央の頂点はそのままだと合成されて2倍のウエイトがかかってしまう
Basisのシェイプキーを0.5かけてウエイトを半分に減衰させること
口角を押し上げてつぶす 口元の生々しい動きに寄与する
口角を斜め下に引き下げつつ広げる
人間は口を開けていくと口角も上がるため、そのままだと笑顔の口になってしまう
上がった口角を下げて口を丸く整えるためのシェイプキー
これにより、口を大きく広げたときにのびのびと気持ちよく開くことができる
jawOpenと合成したときやや口角が下がること
舌
舌を出す 根本の位置は変えずに標準状態の舌をまっすぐ伸ばし、閉じた口から見えるサイズに調整する
以下、試行錯誤してみて効果的だった追加動作 ほかにもあるかも
jawOpen 下に曲げつつ下げる(MTH_Aの舌)
jawLeft/jawRight 左右に移動
mouthLeft/mouthRight 左右に回転
mouthSmileLeft/mouthSmileRight 下に曲げつつ下げる(MTH_Aの舌を追加)
パーフェクトシンク対応モデルにするには?
BlendShapeを作成したあと、さらにUnityで
BlendShapeClipを52個作成する必要があります
手動でぽちぽち作るのは大変なので以下のツールがおすすめです
52個のBlendShapeClipを作成し、それぞれに同名BlendShapeを設定(すべて100%)
既存の
VRMモデルから、ClipとBlendShape数値をコピー
(コピー元のモデルが必要)