FaceRobotとMayaの連携

前サイトの記事移植

Softimageにデフォルトで搭載されたフェイシャル用のRig・AnimationキットFaceRobot。

いろいろとググって調べてみたものの、Mayaとの連携についてはあまり出てことなかったので 手順を書きつつ私なりの感想を書こうと思います。
なお、私はMayaメインでsoftImageはほとんどちゃんと触ったことがないというLvなので、SoftImageユーザーからしたら ちがうwww という点もあるかと思いますが、そのへんはご了承ください。
できれば突っ込んでもらえると嬉しいです。

Maya側の準備

1 必要なMeshの準備
Mayaのデータで、Facialに必要な 顔 眼球(左右) 歯(上下) 舌 モデルを準備します。
準備するモデルの必須の条件は
・ 顔のMeshは口の中・目の中を含む穴のないMesh
・ 法線方向が整えられているMesh
・ トポロジーが、筋肉の流れに沿っている事
・ 目のCenterPivotが目の中央に来ていること(目のMeshの内側?かも)

Collisionに歯・舌・目は必須になりますので、Softimageのサンプルなどでも良いのでかならず配置して下さい

2 Softimageへ転送
File -> Send to Softimage でMayaからSoftimageに転送します。
何も選択していない場合はシーン全体が、選択されている場合は選択されているMeshのみSoftimageに転送されます。

転送時は、一時的にFBX形式に保存してから Softimageに転送しています。
転送時にエラーが発生する(特にShaderまわりが頻発する可能性があります)場合は、FBXの出力時の注意事項を確認してください
(FBXの出力注意事項は別途参照)

SoftImage側の作業

※ Mayaから SendToSoftimageをすると、デフォルトの場合 ショートカットがMayaのものになります。
Softimageのショートカットにする場合は、ファイル→インタラクションモード をSoftimageにして下さい

1 FaceRobotモードにする

FaceRobot→faceRobotを有効にする を選択し、FaceRobotのセットアップを開始します

2 Assemble

まず、FaceRobotで使用するMeshを登録します。
1 Library内Type から Human Face Symmetric を読み込みます。
これは、左右対称のキャラクターの場合の設定になるため、隻眼のキャラクターなどはAsymmetricを選択してください

2 画面右下あたりにあるPickObjectsを選択して、必要なMeshを登録していきます。

3 正しく設定されると、READY TO SCAN と表示されるので、表示されたら Scan|>ボタンを押し次に進みます。

正しく設定されていない場合、Errorが表示されます。
よくあるエラーとして、 1 の Typeが選択されていない
目のPivotの位置がCenterに来ていない
Meshに穴が開いている などが考えられます。

3 Landmarksの配置
次に、顔にLandmarks(顔のMeshを動かすためのJointのようなもの)を配置していきます。
Startを押すと、どこをPickするか表示されますので ツールの指示に沿って配置していきます。
すべて配置し終わったら Fit を押して次の工程にいきます。
Fitを押すと、この作業には戻れないため 必要であればここまでで保存をしておくようにして下さい

4 Fit
Landmarksが終わると、次にFitの作業に入ります。
Fitの作業では、表示されているコントローラーとカーブを顔に沿うように調整します。
主に、
1 あごの位置Locator JawStart
2 舌のLocator
3 あごの輪郭LocatorとCurve
4 首 NeckBase ~ HeadBase
5 目の回転中心
は きちんとなっていないと次の工程で破綻してしまいますので、正しく配置するようにして下さい。

左右対称の場合、MCP→Transformの 対称 を選択することで、左右同時に調整することができます。
顔に沿わせるときは、Meshに対してSnapさせてあげると 作業がしやすくなります。

以上の調整が終わったら、Solveを押し 次の工程に進みます

5 調整とアニメーションの繰り返し
これ以降は、アニメーション と チューニングを繰り返し フェイシャルアニメーションを作ります。
Act では、主に 作成されたコントローラーを使用して、アニメーションをつけていきます。
Tune では、変形の強さ・影響範囲のチューニング、皺の設定、Sculptによる変形時の補助 などをします。

6 Export
チューニングが終了したら、完了データをMayaでも読める BlendShapeに焼きこんだモデルにConvertします。

1 Act パートの Import/Export -> AnimationExport Linked Shapes を選択します。
2 Export_Animation_Rig 内の サンプラ→作成 ボタンをクリック
サンプラとは、BlendShapeに焼きこむ際の影響範囲の定義 のようなもので、
・FaceRobot上のコントローラーの動く範囲(スケール)と段階(密度)をサンプラによって定義
・段階ごとのShapeを生成し、BlendShapeとして出力 します。
基本的な顔を出力する場合、サンプラの作成ボタンを押した後、ロード→FacePresets/Default.smp よ読み込むと、
設定されたサンプラを使用することができます。
サンプラの設定は、変更したいサンプラを選び インスペクト ボタンを押して設定画面を開きます。
ここで、コントローラーの動く範囲(スケール) と 密度 調整します。

3 Export用のRigの作成
リグ→ビルド で、リグを生成します。

4 シェイプの作成/更新
Rigを生成したら、変形用のシェイプを生成します。
シェイプ → 作成/更新 ボタンを押すことで、生成が完了します。

5 アニメーションのコピー
Softimage上で、すでにアニメーションをつけていた場合 転送 で、作成したRigにAnimationをBakeします。

6 Export
~5までの工程が終わったら、モデルデータをxsi形式で出力します。
リグのExport の書き出しを押すと、必要なデータが指定されたフォルダに書き出しされます。

3 Mayaでの読み込み

出力されたモデルデータは、CrossWalkをインストールすることでMayaで読み込むことができます。
(ダウンロード先は ここ
インストールが完了すると、各Mayaのインストールフォルダ data/plug-in 内に dotXSISceneConverter.mll FaceRobotImporter.mll という2つのプラグイン
がコピーされますので、2つとも Plug-in マネージャーからロードします。
ロードすると、 File に Import FaceRobot というメニューが追加されるので ここを選択して、先ほど出力した .xsi ファイルを Importします。

正しく読み込あまれていない場合、考えられることは
・シェイプの作成がされていない(顔のShapeがこない・Locatorを動かしても反応がない)

等があります。

ガゾウガナクテゴメンナサイ

以下触ってみた感想

通常、BlendShapeを使うにしても他の手段にするにしても、非常に手間のかかるフェイシャルですが、簡単なUIで誰でも簡単にセットアップが出来、
リップシンクやその他アニメーションのためのRigセレクタ等、アニメーション作業も非常に手軽に出来る便利な機能 というのが第一の感想です。
実際、Softimageを触ったばかりの私でも一通りマニュアル片手でも何とかなりましたし(ちゃんとやるとなるともっと時間がかかりそうですが)いい感じになります。
フェイシャルをやらなきゃいけないけれども、Rigをどうしよう…と悩んでる人にはなかなか良いアプローチの1つだと思います。
が、良いことだけではもちろんありません。
MayaへのExportもついてはいますが、基本 アニメーションはSoftimageでメインで付けて MayaへのExportは 持って行って、最後の調整ができるかなー程度。
FaceRobotの強みは、RigそのものというよりFacialをつけるためのRigをコントロールするためのUI側にあると思うので、それが使えないのであれば
いくらExportできても、Mayaで1からFacialアニメーションを付けるのはかなり無理がある感じでしたし、やるにしてもガワをつくり直してあげなければ プロダクションワークで使えるものではない気がします。
使用するなら、アニメーションもSoftimageでやらないといけないので MayaとSoftimageの行き来で アニメーションデータの行き来含めてフローが複雑化します。
ということで、結論としては、フェイシャルキャプチャーを使う場合 フェイシャルのカット数が膨大で、リップシンクの恩恵が大きい場合 前カットSoftimageでアニメーションを付ける 喉の場合は有効だけれども、そうでなければフローを複雑化してまで導入するメリットは低い …と思います。
FaceRobotのコントローラーやら、形状のシュミレーションがMayaにそのまま持ってこれるのなら便利そうではあるのですが
おそらくは無いでしょう。 

コメントを残す

メールアドレスが公開されることはありません。

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.