キャラクターの顔(フェイシャル)のアニメーションの設定を説明する。
日本語インターフェース版はこちらをご覧ください。
Maya チュートリアル[日本語]:キャラクターセットアップ その④:フェイシャルアニメーション
■準備
表情をつけるオブジェクトをバインドからはずしておく。
オブジェクトを選んで、
Skin > Detach Skin
(眼球はバインドをはずしたまま。眼球以外のオブジェクトは後で再びバインドする)
■眼球の設定
眼球のピボットポイントを眼球の中心に設定する。
眼球のオブジェクトを選び
Modify > Center Pivot
眼球を頭のジョイントの"子"にする。
目の表情をつけるために、眼球をそのまま、その場で回転させてキーフレームを設定するのが
一番単純な方法だが、もう少しアニメーションをしやすくするために、
視線の先から眼球をコントロールできるようにする。
Create > Locator
でロケーターを2つ作り、それぞれの眼球の正面におく。
ロケーター→眼球 の順に選び
Constrain > Aim Constrain ■
眼球が最初 Z軸方向を向いているなら、 Aim Vector 0 0 1
ロケーターをグループ化し、頭のジョイントの"子"にする。
(両目を同方向に動かすときこのグループを動かす)
眼球のオブジェクトにはエイムコンストレインのノードができたいるのがわかる。
(コンストレインを外すときは、このノードを削除する)
■ブレンドシェープの基本
上図のように、ポリゴンまたはNURBSの球をDuplicateし、base,targetA,targetB,targetCとする。
targetAからCを変形し、targetA→targetB→targetC→baseの順に選んで、
Deform > Create Blend Shape
ブレンドシェイプが作られる。
Window > Animation Editors > Blend Shape...
でブレンドシェープウィンドウを開く。
変形したオブジェクト名とそれに対応したスライドバーあり、スライドバーを上に上げると、
baseオブジェクトが変形したオブジェクトの形に近づくのが分かる。
スライドバーの下の数値はバーの位置に合わせて0~1が入る。
直接入力も(マイナス値も)可能である。
Keyボタンを押すとキーフレームが打たれる。
KeyAllボタンを押すとすべてのオブジェクトにキーフレームが打たれる。
Selectボタンでブレンドシェイプ(この場合blendShape1)が選択でき、
グラフエディターの表示や、 ブレンドシェイプそのものの削除ができる。
■ブレンドシェープによる表情の設定
表情の数だけオブジェクトをDuplicateし、それぞれを変形して表情をモデリングする。
単一のオブジェクトでない場合はグループ化し、グループ内のオブジェクトの順序を
同じ順序にしておく。
オブジェクト(のグループ)を順番に選び、最後にbaseのオブジェクト(のグループ)を選んで
Deform > Create Blend Shape
Window > Animation Editors > Blend Shape...
ブレンドシェイプウィンドウでキーフレーム設定し、アニメーションを作る。
上のように複数のオブジェクトで連動しない場合
(例えば顔と舌など)はグループ化しないで、それぞれ別のブレンドシェイプを作る。
ブレンドシェイプをグラフエディターで開いてキーフレームを編集できる。
ブレンドシェイプの設定後もターゲットオブジェクトの変形は可能なので、
必要なら表情などの調整を、モデリングデータの修正で行なう。
■まばたきの設定
グラフエディターで目を閉じた表情のターゲットオブジェクトを選び、
Edit > Keys > Bake Simulation ■ でオプションのSample by に1(初期値)を指定し、
Bake すると、すべてのフレームにキーが打たれる。
(キーフレームのベーク(焼き付け)はMayaのダイナミクスで
物理シュミレーションしたアニメーションをキーフレームに変換するコマンドだが、
ここでは、単純に1フレームごとにキーフレームを作るために使った)
1~3フレームくらいをランダムに選び、Translateツールで1まで持ち上げる。
(MELコマンドでランダムにする、というスマートな方法も、もちろんある)
■ブレンドシェープの連動
上図のように、ターゲットオブジェクトの数が一致していないとグループ化できないので、
ひとつのブレンドシェープにまとめられない。
そこで、上図の例でいうと、顔と歯、それぞれのブレンドシェープを作る。
Animate > Set Driven Key > Set ■ でドリブンキーのウィンドウを開き、
①頭のブレンドシェープをSelect
②Load Driver
③歯のブレンドシェープをSelect
④Load Driven
⑤連動する頭のターゲットオブジェクトをクリック
⑥連動する歯のターゲットオブジェクトをクリック
⑦、⑧連動するターゲットオブジェクトのブレンド値 0
⑨Key
⑩、⑪連動するターゲットオブジェクトのブレンド値 1
⑫Key
連動させるターゲットオブジェクトごとに⑤~⑫を繰り返す。
頭のオブジェクトに対して、歯(開く)0.5 歯(閉じる)0.5といった1対複数の設定も可能である。
■サウンド
サウンドファイルをタイムスライダー上にドラッグドロップすると、上図のように表示される。
サウンドの位置(オフセット)は タイムスライダー上でマウス右ボタン Sound > サウンド名 ■
でサウンドのアトリビュートが開くので、Offset でフレーム指定する。
English article
Maya tutorials:character setup (4): facial animation
BlendShapeもGrafEditorでいじるんですね。
細かく設定できそうですね。
知りませんでした。
まばたきとか、おもしろいんで、活用してください。
お疲れ様です。
質問なんですけど、
顔のアニメーションで歯茎とかも顔と連動させる時は
どうされてますか。
顔とペアレント化したら、顔の表情の作るの大変で。。。
グループ化でダメですか?
いちおうドリブンキーの例ものせときます。
顔と歯をグループ化したのですが
アニメーションさせると歯だけ置いていかれます。
何か別の要因があるかもしれません・・。
う~ん、実際のデータを見ないとわからないですね。
こんにちは。初めまして。
突然で申し訳ありませんが、質問があります。
このフェイシャルアニメーションをするにあたって顔部分をバインドから外しておく必要があると言う事ですが、
以前Detach skinをした時に、設定したスキンウェイトが消え最初からウェイト調整をやり直した事がありました。
今私が作成しているキャラクターは耳が動くようになっており、
既にウェイト調整をしてあるので、出来れば表情を付けた後等、
スキンウェイト調整のやり直しは避けたいと思っています。
ウェイトを残しつつ、フェイシャルアニメーションを付けるにはどうしたら、どういった手順がよろしいのでしょうか?
長くなってしまい、申し訳ありません。
ブレンドシェイプするのに、デタッチする必要は
ありません。
バインドしたオブジェクトをバインドポーズに戻して、
複製して、
ブレンドシェイプのターゲットオブジェクトにして
問題ありません。
ご返答ありがとうございました。
まだあまりMayaを使いこなせいないので、本当に助けになります。