こちらのCGメソッドの記事ではFacaRigでひと手間加えてクオリティアップする方法を紹介します!こちらは VTuber Tech #1 Advent Calendar 2018 9日目の記事になります!
2018年はVTuberの制作に熱中し、自らもVTuberとしてYouTubeに動画を投稿したすいみん(@cg_method)です。
今回は、土日の2日間で作ったLive2DとFaceRigをもとにしたVTuber「眠井眠子」にひと手間を加え、クオリティを底上げする方法を解説します。
Live2D+FaceRigのクオリティアップにおける注意点
ここで紹介するのは、Live2Dの基本操作ができる方なら誰でも再現できるひと手間を加えた調整方法です。
前提として、Live2DとFaceRigを連携させたモデルを対象としています。
魅力的なイラストの描き方や、アートメッシュ・パラメータ・形状を破綻なく整えるといったモデル自体の基礎的なクオリティは、制作数を重ねて経験と工夫から培う部分です。
この基礎部分はわずかな手間で簡単に向上するものではないため、実践を重ねる必要があります。
モデルを新しく制作する機会があれば、そのメイキングも詳しく解説する予定です。
Live2D+FaceRig:体のクオリティアップ
まずは体に関する動きの調整から解説します。
髪揺れ

FaceRigの空間に風の挙動を加え、静止している状態でも自然に髪が揺れるように設定します。
設定ファイルの記述を追記するだけで反映できます。
- Live2Dモデリングにて、髪が左右で揺れるパラメーターを作成しておきます。
・前髪(PARAM_HAIR_FRONT)範囲(-1~1)
・横髪(PARAM_HAIR_SIDE)範囲(-1~1)
・後髪(PARAM_HAIR_BACK)範囲(-1~1)

FaceRigの「cc_キャラ名.cfg」(C:\Program Files (x86)\Steam\steamapps\common\FaceRig\Mod\VP\PC_Common\Objects\キャラ名フォルダ内)で物理演算を設定できるため、指定のコードを追記します。
cubism30_set_gravity neko 0 -1
cubism30_enable_wind neko true
cubism30_set_wind_optons nek 0 0 0・重力設定:cubism30_set_gravity 左右 上下
・風のON/OFF:cubism30_enable_wind true/false
・風の向きと強さの設定:cubism30_set_wind_optons 左右 上下 強度(0~6)
体と顔の連動

顔の傾きに合わせて体も自然に動くように設定します。
顔の角度X・Yの
パラメータに、体の回転X・Yの動きを移植します。
キーをコピー&ペーストするだけで設定可能です。
・角度X(PARAM_ANGLE_X)範囲(-30~30)
・角度Y(PARAM_ANGLE_Y)範囲(-30~30)
・体の回転X(PARAM_BODY_ANGLE_X)範囲(-10~10)
※FaceRigではマウス操作(Altキーを押しながら左右にドラッグ)するパラメータです。
・体の回転Y(PARAM_BODY_ANGLE_Y)
※FaceRigでは適用されないパラメータです。
※本来の手付けアニメーションでは体と顔が完全に同時に動くことは少ないため、タイミングをずらして表現します。
今回は同時連動になりますが、FaceRig上での動きの強調を重視した設定にしています。
Live2D+FaceRig:目の表現に関するクオリティアップ
キャラクターに生命感を与える目の表現を解説します。
瞳のハイライトのアイドリング

呼吸による体の上下動に加えて、瞳のハイライトをわずかに揺らすモーションを適用します。
・呼吸(PARAM_BREATH)範囲(0~1)
・ハイライト(PARAM_HIGHLIGHT)範囲(0~1)
Live2D Modelerでハイライト(PARAM_HIGHLIGHT)のパラメータを作成し、Animatorでキーフレームアニメーション(idle.motion3.json)を作成します。
FaceRigのキャラクターフォルダ内にmotionsという名称のフォルダを作成し、書き出したjsonファイルを格納します。
「cc_キャラ名.cfg」(C:\Program Files (x86)\Steam\steamapps\common\FaceRig\Mod\VP\PC_Common\Objects\キャラ名フォルダ内)に下記のコードを追記します。
set_idle_anim neko 'idle'
以上の設定で、体の動きと連動して瞳のハイライトもアイドリングするようになります。
眉の連動

まぶたの開閉に合わせて眉を上下に連動させます。
・左目開閉(PARAM_EYE_L_OPEN)範囲(0~1)
・右目開閉(PARAM_EYE_R_OPEN)範囲(0~1)
まぶたの動きに伴って周囲の皮膚や眉が引っ張られる動きを加えることで、表情のリアルさが増します。
眼球運動

目玉のX・Yの動きに合わせて上下のまつげも連動させます。
・目玉X(PARAM_EYE_BALL_X)範囲(-1~1)
・目玉Y(PARAM_EYE_BALL_Y)範囲(-1~1)

この表現は「東雲めぐ」の目の動きをリファレンスとしています。
※画像内のピンク色の線画が、デフォルト位置のアタリを示しています。
ここでも、眼球の向きに応じて周囲のまぶたやまつげが連動する表現を加えることで、自然なリアリティが出ます。
眼球形状

眼球が上下左右に動く際、わずかにパース(遠近感の変形)をつけて球体の奥へ回り込むような形状変化を加えると立体感が増します。
※極端に目が大きいデフォルメキャラクターには向いていません。
・目玉X(PARAM_EYE_BALL_X)範囲(-1~1)
・目玉Y(PARAM_EYE_BALL_Y)範囲(-1~1)
※作例ではごくわずかにパースをつけています。
変形を強調しすぎると不自然になり、FaceRig側のトラッキング範囲でも大きな眼球移動には追従しきれないためです。
Live2D+FaceRig:口の表現のクオリティアップ(リップシンク)
Live2Dにおける「あ・い・う・え・お」の口の形状

・口開閉(PARAM_MOUTH_OPEN_Y)範囲(0~1)「0, 0.3, 0.6, 1」の4点にキーを打つ
・口変形(PARAM_MOUTH_FORM)範囲(-1~1)「-1, 0, 1」の3点にキーを打つ

画像は「あ・い・う・え・お」の形状目安となるパラメータ位置です。
「打ったキーの位置ぴったり」の形状だけで発音されるわけではありません。
発声者の癖や声量による口の開き具合によって各パラメータがブレンドされるため、表示が崩れにくい位置を探しながら微調整を重ねます。
Live2Dのモデル表示において、口元の変化は視線が特に集中しやすい要素です。
そのため、「あいうえお」の形状が破綻なく開閉するだけでも全体の完成度が大きく向上します。
※画像内の青文字「FaceRigで使用しない領域」は、音声認識(リップシンク)時には参照される仕様です。
(Webカメラのフェイストラッキング画像認識では使われません)
あごの連動

口の開き具合に合わせて、あごの輪郭ラインも連動して下げます。
- 口開閉(PARAM_MOUTH_OPEN_Y)範囲(0~1)
口の開閉に合わせてあごが上下する表現を加えることで、発話時の自然さが増します。
動きを大きくしすぎると輪郭が崩れやすいため、わずかに動く程度に抑えるのがポイントです。
Live2D+FaceRig:顔の表現に関するクオリティアップ
表情の切り替え
キーボード操作による表情差分の切り替え設定については、こちらの記事を参考こちらの解説記事を参照してください。
キーボードで都度ON/OFFを切り替える必要があるため、リアルタイム配信での運用には慣れが必要です。
※基本的な構造として、目や口のパーツにはクリッピングマスクを適用しておくと、頬の赤みや肌のグラデーション表現を乗せやすくなります。
※クリッピングマスク機能がなかった初期バージョンのように、肌色の不透明パーツで隠す手法は非推奨です。
Live2Dによるモデル制作の記事は、ほかにも公開しています。




Live2D+FaceRigのクオリティアップまとめ
VTuberの映像表現では、モデルのどこかが常にわずかに動いている状態を作ることで画面の退屈さを防げます。
テンプレートに当てはめただけの初期状態から、ぜひひと手間を加えてクオリティを高めてみてください。
本記事で使用した睡井眠子のLive2Dモデルデータは、下記リンクより購入・ダウンロードできます。
FaceRigの機能追加はあまりされないのですが、まだまだ工夫の余地はあるので、知見が溜まってきたらまた紹介しますね!
そして明日の「VTuber Tech #1 Advent Calendar 2018」の記事担当は、ようてん (@youten_redo)さんさんです。
Vtuberを作成する方法を記事に書きました!

作成するべきFaceRig用Live2Dのパラメーターをまとめました!

