Faceware Retargetter とは?
Faceware analyzer でトラッキングしたデータを, キャラクター rig に流し込んでアニメーションさせます.
結果としてキーフレームが生成されます.
Retargetter は, 3dmax や Motionbuilder など, 3D DCC のプラグインとして提供されています. ここでは Maya 版を想定します.
要件
- Retargetter Maya
- Analyzer で facial landmarks のトラッキングが済んでいる(トラッキングデータがある)
- channel(attribute)で FACS あたりの表情を作れるような rig が仕込まれたキャラクターデータがある(rig なしモデルに対してよろしく制御コントローラを自動作成して動きを retarget してくれるわけではない).
- rig については, アーティストなどに作ってもらうか, Polywink rig on demand https://www.polywink.com/14-62-automatic-facial-rig-on-demand.html などの自動 rig 作成サービスを使うことになるでしょう(Blender でも auto rig みたいなのがあったような?)
rig のつくりかたについて, faceware 向けの rigging best practices が参考になるかもしれません.
http://support.facewaretech.com/rigging_best_practices
使い方
Character setup
まず, 顔のパーツと, 制御コントローラのアトリビュート/channel との関連付けを行います.
UI がわかりづらいですが, youtube チュートリアルを見ればだいたいどう操作すればよいかわかります.
Control setup
Control Setup タブで, 顔を制御するコントローラのリストなどをリストアップしていきます.
New すると, head, eye, mouth, bows などプリセットを作ってくれます(実際にはこれは単なる名称なので, 適当にリネームしてもよいかも?)
それぞれの group item に対して, rig controls で動かすアトリビュートのリストをリストアップします.
このとき, コントローラ(attribute)に lock がかかっていたり, parent が付いていたりものを選んでしまうと, 後述の Expression set のところで Maya warning が出てうまくリターゲットできませんので注意ください. コントローラは単独で制御できるような構成にしておきましょう.
Expression set
Control Setup が終わりましたら(途中でも問題はありませんが), 次に Control setup のコントローラの値を動かし顔表情の登録を行います.
こちらは画像があるのでわかりやすいかと思います. Phoneme(https://ja.wikipedia.org/wiki/%E9%9F%B3%E7%B4%A0) のパターンもありますのでいくらか lip sync の知識があるとよいです.
Use にチェックがあるものだけ後述の retarget で利用されます. 設定はあとで追加/削除できますので, とりあえず数パターンだけ登録し, 後述の retargetting でデータを流し込んでうまく動くかをまず確認するとよいでしょう.
Apply Saved Expressions To Scene
で, 設定した expression をシーンに反映して確認できるようになります. ここで Maya に warning が出ていないかどうか確認しておきます. warning が出なければうまく設定できています.
設定したら .xml ファイルをセーブします.
Retargetting
トラッキングデータ(.fwr)と, 先ほど作成した Character setup file(.xml) を読み込みます.
autosolve を有効(Generate AutoSolve)にします. これでだいたいよろしくやってくれます(トラッキングデータから, character rig のコントローラキーフレームをよろしく作成).
Import Video
を有効にすると, ビデオをシーンに取り込んでくれるので確認がしやすくなります.
とりあえずこれでトラッキングデータと連携して, キャラクターがアニメーションします!
微調整など
データをスムージングとか, いろいろ後処理をする機能があるようです(未検証)
Studio Plus
ポーズを共有化して複数のフッテージで使える用? 大量にトラッキング/リターゲットしたい人向けでしょうか.
Studio Plus は USD 399/year とお安いだったので(通常版だと USD 99/year でさらに激安), 筆者は Studio Plus ライセンスを買ってみましたが, いまのところ Shared pose など Studio Plus の機能を使うには至っていません.
TODO
- Character setup file(.xml)を自前で作るのを考慮する(Maya でぽちぽちするのが面倒になってきたら)
- 自前トラッキングデータを faceware データに変換することで, analyzer 非依存で retarget できるか試す.
- リアルタイムでトラッキング+リターゲットできる LIVE を試す https://www.facewaretech.com/software/live
- Faceware retargetter でデータセットを作り, 機械学習させて facial capture などに利用し, VTuber を目指す.