使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.6.2 | |
Faceit | 2.3.12 |
表情のリグ、シェイプキーを作ってくれるプラグイン。
リグを作るまでの設定がたくさんあり、すぐに忘れてしまうので手順として残す。
Faceit
は非常に設定すべき項目が多く、これまでの記事のように全解説にしてしまうと冗長になりすぎる。
私が実際にリグを作っていく中で躓きそうだったことはすべて解説するが、特別覚えなくても問題ない機能は省略する。
このプラグインは有料である。しかもちょっと高い。
だが、それだけの価値はある。更新も続いている。
Faceit : Facial Expressions and Performance Capture - Blender Market
あまりここに言及している人がいないが、Auto-Rigとセットで使用することが出来る。
これは後半のBake
部分で触れる。
Auto-Rig
等がある場合、まずは顔のすべてのパーツが頭に追従すること。
つまり表情を動かすことはできないがAuto-Rig
などを移動すると目や眉毛などが正しくついてくる必要がある。
ただ、これは一通りFaceit
の設定を行った「後」でやっても良い。
Auto-Rig
が先に設定してある場合
まず、瞳や眉毛など頭に追従させたいパーツをすべて選択しておく。
shiftを押しながら最後にAuto-Rig
のリグを選択に含めておく。
Skinタブ > Bind > Selected Bones Only
+ 目玉のマークをチェック
こうするとDeform
ボーンだけの表示になる。
ポーズモードに入って頭のボーンだけを単体で選択。
これらをBind
する(Engine=Heat Maps
が良い)
ボーンの表示になったままなのでSelected Bones Only
を外して次のレイヤーだけ表示に戻す
目玉のマークを外すだけでも戻ったので、それでも良い
基本的に左のタブから順番に作業していく。
最初はSetup
から。
顔に属するメッシュをすべて選択。ここでは髪も選択してしまっている。
眉毛や目など1つずつのパーツは別オブジェクトになっていて良い。
Register Face Objects
を押す
先程選択したオブジェクトが一度登録される。
既にAuto-Rig等が設定されている場合はExisting Rig
に登録しておく。
Register Objects
に登録されていないメッシュはこの後の作業に登録できないので注意。
一度ボタンを押した後でも追加で登録できる。
髪や顔に連動しないアクセサリ類はリストから消しておく。
イヤリングなど顔に付随しているアクセサリは残す。
ここからは「どのメッシュがどの部位なのか」を明示していく。
Face Mainは顔の皮膚の部分といえばいいだろうか、顔そのものを指定する。
Objectモードで顔の皮膚にあたる部分を選択して
このボタンを押す/スポイトでクリック
顔に該当する1オブジェクトの中にメッシュが2つ以上ある場合
例えば
このような場合エラーになる模様。
この場合、編集モードに入って顔のメッシュだけ選択して選択する。
胴体や足まで繋がっていても問題なく、とにかくひとつなぎのメッシュである必要がある。
※編集モード > Lキーで繋がっている頂点だけ全選択できる
オブジェクトモードで「目」に当たるものを複数選択する。
特に私のようなアニメ目の場合は迷うと思うが
これらをひとまとめにしてLeft, Rightで設定する
キャラに対して左右なので間違えないように。
真正面からみて作業すると、左右逆に設定するイメージ。
いっぺんにすべて登録する必要はなく、1つずつボタンを押して登録しても良い。
左右の目が1つのメッシュになってしまっている場合は上のように編集モードで頂点を選択して設定する。
オブジェクトを選択した状態でこのボタンがグレーアウトしている場合Register Objects
に登録されていない可能性が高いので確認。
目のように複数のオブジェクトでひとまとまりのものは正しく登録されたか確認しにくい。
そこで次のボタンを使うと、登録されているものを目視できるようになっている。
歯茎も作っている場合はここで同じように上下で分けて設定する。
口腔のモデルは何も設定せず。
こちらは舌
ここは結構色々詰め込む
おそらく目を瞑る時にひとまとめにして動く物かと思う。
ここでは眉毛は選択しないこと
ここで二重線のようなメッシュも登録しているが、これが変形で非常に壊れやすい。
登録するところはここで良いと思うが、他に方法があるかもしれない。
まつ毛ではない毛がここに含まれる
イヤリングやその他装飾品などはこちらへ登録。
顔に追従するが、変形しない物
十分に検証出来ていないが顔のオブジェクトに胴体や手足の皮膚が含まれる場合、表情のウェイトが乗ってしまってそれらが動くという不具合が出る
顔以外(胴手足)は別オブジェクトに分けておいて、そもそもFaceitに登録しないほうが良いかと思われる。
一応Rigidに登録することで回避はできるのだが、リグのマージを行うと手足が動かなくなってしまう。
Setup
パネルが一通りセットできたらCheck Geometry
ボタンを押してエラーがないか確認する。
次のマークがでたらクリックして詳細を確認する
私が知る限りでは、ここはThe Object is bound to another armature.
しかみたことがない
殆どの場合、顔に設定しているメッシュが既にメインのrigに関連付けされてウェイトを持っているので顔リグとバッティングする可能性がある事を示唆している。
ひとまずこのままで良いので進める。
Generate Landmarks
をクリックする。
マスクが現れるので顎の高さに合わせてクリック
顎が固定され高さを目に合わせてクリック
最後に横幅をあわせる
ここは後で調整できるので正確でなくて良い
ここから各頂点を微妙に動かして調整
適切な頂点の位置がどこかわからず、曖昧でイライラする人も多いと思う
しかしここを微調整しても大きくは変わらず、結局最後のスカルプト作業でかなり修正することになる。
解説におおよそ従っていれば問題ないと思われる。
顎の先端とその下が首の点
顎の先端はギリギリでよい
唇のラインは基本内側に少し食い込ませて設置(唇の中央あたり)
ただし、両サイドの点だけ逆に広くつける
頬にある点は上げ過ぎない
公式では頬骨が出っ張っているところより下になっている
こちらも顎と同じく一番下の点だけ鼻の下になるので注意
目も両サイドだけ少し離す
ほかは皮膚の上になるように
目の上のラインは二重線あたりに入れるとのこと
目の横のポイント。こちらは横からも調整するので後ほど。
おでこのラインはデフォルトM字になっているが合わせる必要はないとの情報あり。
ただ、公式ではM字になっているのでそのほうが良いかと思う。
ひとつ下のラインは眉に
正面からの頂点作業が終わったらProject Landmarks
正面から顔にプロジェクトされ、横の画面になる
なお、顔のリグに髪を含めていなければ自動的に貫通して皮膚に張り付いてくれるので気にしないで良い。
顎が角張っているところに配置
さらにそのひとつ上を下の耳の付け根よりちょっと前へ
この耳たぶ前の点は、デフォルトでかなり前の方で止まるので非常に間違えやすい
公式では顎下のポイントは喉までいかないように調整されている。
横から見て一番高いところへ
顔にくっついていない頂点がないか確認
離れていた場合はスナップモードにして
この状態で少し動かしてやればくっつくはず
スナップモードを解除して
口の両サイドの頂点を皮膚の内側にわずかに押し込む。
唇の頂点も押し込む解説しているユーザーがあったが、どちらが良いかは不明。
両サイドだけは押し込んでおく。
目の両端もわずかに皮膚の内側に押し込む。
これらは公式からの推奨。
真下から見た時にアーチ状になると良いらしい
リグを作る前に球体ではないアニメ目は特殊な作業が必要
顔のボーンが設定してある場合はEye Pivots
をAuto > Flat
に設定
ここでボーンなどを選べば良いと思われるが、未検証
Manual
を選択し、緑色のPivotを移動する。
緑色のpivotポイントが目玉より奥にあることを確認。
ただ、これもどれぐらい奥に引けばよいかは要調査。こめかみあたりで問題なかった。
これら作業はGenerate Faceit Rig
前にしかできない。
既にRigを作ってしまった場合はEdit Landmarks
設定に戻って行うこと。
Generate Faceit Rig
ボタンを押すとリグが生成
1つウィンドウを挟むが、基本OKで良いかと思う。
このウィンドウのセッティングについては要調査
上の状態ではリグができただけで動かない。
RigタブのままでUIが変わっているのでBind
をクリックしデフォルトのままOKを押す。
これでコントローラーをポーズモードにいれれば動くので確認する。
上のBack to Landmarks
を押すことでランドマーク設定からやり直しも可能。
バインド中に画面をクリックしてしまうと中途半端にバインドが中断されると思われる。
バインドのアイアログが消えるまで何も押さないこと。
バインドがおかしくなってしまってもLandmarks
からやり直せばもう一度やり直せる。
この後の作業は気に入らなければ戻って設定し直していくケースがよくある。
その時にBindし直した時メッシュが壊れるということがよくある。
コレはおそらくFaceitのバグで、一旦Landmarks
設定まで戻った後、壊れるメッシュのシェイプキーを削除しよう。
シェイプキーはBasis
を先に削除すると壊れることがある(?)ので注意
「目を閉じる」「口を開ける」などの基本的な表情表現をパラメタをいじるだけで動かせるキーを生成する。
Load Faceit Expressions
を押す。その他は上級者用。
基本はARKit
のままOKで良い。
上の操作でパーツごとに動きが自動で生成されている。
たとえばeyeBlinkLeft
を選択すると、左目が閉じる。
アニメ目の場合ほぼこれが成功することはない。
このままポーズモードにはいってコントローラーを動かして微調整。
特に何もしなくてもここで動かした場所は保存されているので、他のパーツに移動してから戻ってきても、コントローラは先ほど動かしたままになっている。
上の例を見てもらえば分かるが、アニメ目の場合はコントローラーだけでは修正不可能。目が崩れている。
これをスカルプトで細かく調整していく。
Objectモードに戻る > 修正したいメッシュを選択 >スカルプトボタンを押すとスカルプトモードになる。
このときこの例ではeyeBlinkLeft
が選択されたままであることを確認。他のパーツになっていると、そこのキーが修正されてしまう。
編集モードで動かした頂点も記録されていることを確認しているが、何かのタイミングで記録されない時がある(要検証)
この場合シェイプキーではなく「そもそも元の形を変形した」という最悪な結果になってしまう。
正しく書き込まれたかを逐一確認しながら作業する。
次のボタンで左右反対側に調整をコピーしてやることが可能
だが、この機能は結構左右でずれる。
なんだかんだで手作業で両方つくることが多い。
私が知る限りでは、口の中が見えるポーズにおいて歯の位置が悪いという感覚がよくある。
正直な所、概ね元のモデルの形状が悪い可能性が高いがそこまで修正するのは専門的知識と修正の苦労が必要。
口が開いているポーズで、歯の位置が悪いと感じたらこれらにも動きをつけたほうが良いかと思う
※上の前歯がやたら見えている、下の歯が見えても良い時に隠れている等
ただ、歯が動いている動作と口の動きが不一致で不自然になるケースが多いのでコレもひっそり動く程度にする。
例えばjawOpen
を見てみると口が開きすぎている
ここまで大きく口を開けることはまず無いのでAmplify
を押して数値を少し下げてやる。
moughClose
というエクスプレッションが変なことに気づくと思う
これは正しいので気にしない
口を閉じた状態で顎を開くという動作は人間的に可能。
私は一応ここで歯が飛び出している箇所を修正、こちらも0.8にamplifyするなどの対応はしている。
表情と一緒に関係ないパーツが動く場合Rigidへ登録してやり直ししてやると治る可能性が高い。
ただ、これは同一オブジェクト内でメッシュが別れているときにしか使えないかもしれないので注意。
そもそも首より上のメッシュとそれ意外の素体は分けておいて、手足や胴体はFaceitに登録しないほうが良いかもしれない(要検証)
手動でウェイトを塗り直す場合は次
ウェイトペイントに入ってDEF
と接頭辞がついているグループを1つずつチェックする
ここで手足にウェイトが乗っていた場合は無駄な部分のウェイトを消してやる。
楽なやり方があるかもしれないが、ブラシでSubtract
が良いかと思う。
エクスプレッションを書き終えたらBakeタブへ移動する
Faceit固有のエクスプレッションを個別のシェイプキーに書き出す処理だとのこと。
この処理は非破壊で行われるらしく、ベイクした後でも前の項目にもどって作業し直すことが可能。
Bake Shape Keys
でベイク開始
ダイアログがでるがデフォルト+Keep Faceit Rig Active
をオンにしておくと表情のコントローラーがそのまま使える。
オフの状態でBakeしてしまうと、ここまで使ってきたFaceitの表情コントローラーが削除される。
恐らくこのコントローラーは細かすぎるため、通常は後述のMocap側にある追加のコントローラーを使うことを想定していると思われる。
あまり細かい表情調整が必要ないのであればこれはオフにしておいて後の項で追加する別のコントローラーを使うのも良い。
両方混在することもできる。
Faceitのリグを別のリグとくっつけることが出来る。
重要:この作業だけはデータを書き換える破壊処理。この後Back to Landmarksまで戻れなくなる。
厳密には出来るが、その場合Auto-Rigのデータも全消去される事を確認しているので十分注意する
私が試した限りだと先にセットアップしておいたAuto-Rigが既に設定されており、手間が省ける。
Rig Utils > Join to Body
をクリックしてくっつける。
上までで殆ど完成しているがMocapタブでさらに色々できる。
Source Shapeに既に設定済みのシェイプキーがはいっている。
ここで右の数値を上げ下げすることで、最大値/最小値を細かく調整できる。
口が開きすぎたり、眉が動きすぎるといったときに下げて調整すると便利。
Generate Control Rig
をクリックすると追加のリグが生成できる。
追加のウィンドウがでるが、デフォルトでOKを押す。
手動で表情をアニメーションする時に使いやすいリグなので追加しておいて損はない。
ここで追加したリグをヘッドボーンに追従させる設定
次にControl Rig Setup And Utils > Experimental > Set Child Of
をクリック
iPhoneなどで顔をキャプチャしたLive Link Faceなどのモーションがそのまま使える。
基本的にiPhoneから送ったデータ(csv)をここに読み込んでImport Live Link Face CSV
ボタンを押すだけ。
読み込んだら顔のアニメーションがタイムラインに記録されている。
ベイクする前にこの読み込みを行うと表情の動作サンプルとフェイシャルキャプチャがMIXされてしまう。
この機能は基本的にベイクした後で使おう。
非常に長い内容になったが全機能精査できているわけではない。
が、基本セットアップで必要な項目は全部あると思う。
今回特に注意してほしいのはAuto-Rigなどとマージする箇所だけ後戻りできないので慎重にやってもらえればと思う。
マージ前のデータを別で保存しておくのが良いだろう。
個人的なメモ書きも兼ねているので、確実に覚えておきたい項目が他にあれば追記する。