[2]モーフィング
閲覧数 : 91932回 総合評価 : 4件
やっと楽しい「表情付け」の作業までやってきました。
3Dモデルの表情を変える方法は、ボーンを使う、モデルを切り替えるなどの方法もありますが、表情ごとの差が大きいアニメ系のキャラの表情を変える方法は現在のところ「モーフィング」が主流です。
モーフィングは、元のオブジェクト(ベース)を、別の形(ターゲット)へ、文字通り「変形」させる手法です。 CG技術としては昔からあるオーソドックスな手法ですが、結構制約が多い技法のため、使いこなすにはコツが必要です。 まず、簡単な形でモーフィングを試しましょう。
新しいオブジェクト(名前は「Base」とでもしておきます)に、基本形状から箱を選んで生成します。
続いて、そのオブジェクトを複製し、名前を「elem:ターゲット1-ベース」とします。
モーフターゲット名 elem: [自由なターゲット名]-[ベースモデル名]
※Elemのあとの記号は半角の「コロン(:)」、ターゲット名とベース名の間の記号は半角のマイナス(-)です。
ターゲットモデルの頂点を移動で動かし、別の形にします。このとき、頂点の数が変わってしまう、ナイフやワイヤー機能を使うのはNGです。(理由は後述)
モーフィングを確認するために、ボーンプラグインを起動します。 タイムラインパネルのモーフスライダを右クリックし、ターゲット(ターゲット1)を選択。スライダを右に動かすと、オブジェクトが徐々に変形して行く様が見られると思います。
モーフィングを行う際には、一つの重要なルールがあります。 「ベースモデルとターゲットモデルは、頂点&面数、及び頂点順序が一致すること」 このルールを破ると、頂点は対応する変形後の位置を見つけられず、結果としてモーフィングが壊れたり、ターゲットとして認識されなくなります。 このルールを守ったターゲットモデルを作成するには、必ず、ベースモデルを複製し、それを変形・加工してターゲットモデルを作成することになります。
頂点数はオブジェクトの詳細設定で確認できます。しかし、頂点順番、つまり面の生成された順序に起因する、データ中での頂点の順番については確認する手段がありません。また、後から順序を入れ替える簡単な手段もありません。従って、一回この順序が壊れると、元に戻すことは極めて困難です。
これを防ぐためには、頂点が増えたり、面構成が変わるような機能を使わないことが大切です。具体的には、ナイフ機能、ワイヤー機能などは禁止。基本的な移動、回転などでターゲットを作成します。コピー&ペーストもダメ。複数頂点をくっつけてしまう、右クリックスナップ動作もしないように気をつけます。
また、モーフターゲットの作成を始める前に、”表情付けに必要な要素”がベースモデルに揃っているか確認することが重要です。一度ターゲットを作ってしまうと、後からベースモデルを変更することが事実上不可能になります。意外と、ベースモデルに対して忘れていることが多いものです。口を開けるなら口の中も作っておく(歯、舌)など・・・
では、顔のモーフターゲットを作成していきましょう。基本パターンのひとつ、目パチから作成します。
1.ベースオブジェクトを複製
顔のオブジェクト「Face」を[複製]し、オブジェクト名を「elem:EyeClose-Face」とします。これでもう、複製した顔はモーフターゲットに。ボーンプラグインでモーフターゲットとして認識されます。
2.まぶたを動かし、目を閉じる
左右同じ形に目を閉じさせるために、編集オプション[対象]をONにして作業します。ここで使って良いのは前述の通り、ツール[移動][回転]などの「頂点数が変わらないツール」のみ。また、左右対称が崩れてしまう[傾き][曲げ][格子]などのツールもNGです。
このモデルは、目と顔に段差を作りたくなかったので、顔表面と眼球が平面上にあります。そこで、目を閉じるにはまず眼球部分の頂点を少し後ろに下げ、続いて上まぶたの頂点をぐいっと下へ。アイラインを整えたら、下瞼も(上まぶたの頂点位置に揃えるように)持ち上げて閉じ目を完成させます。
3.ニコ目もついでに作成
自然な目閉じ顔が完成したら、このモーフターゲットを複製して調整し、ニコ目を作成します。
閉じた目の状態には、(2)で作成した、力を抜いた「目閉じ」の他、眦(まなじり)に力を入れた「ニコ目」があります。複製した新しいオブジェクトは名前を「elem:EyeClose2-Face」にリネーム、眦(まなじり)を上下に調整してお手軽にニコ目に加工します。
4.こまめに確認
気づかないうちに頂点数が変化していて、作業が無駄になることがあります。不安になったらボーンプラグインを起動し、モーフターゲットとしてきちんと機能しているか確認しましょう。
5.モーフ結果からターゲットを作成
目閉じを使った表情を確認してみると、半開きの目に物足りなさを感じるので、半閉じ目(ジト目)のターゲットを作成します。今度はベースオブジェクトから作るのではなく、モーフィングして出来る表情から改造してターゲットを作ります。まずはファイルを別名で保存。ボーンプラグインを立ち上げ、モーフターゲットに「EyeClose」を選択、スライダを半分(0.5)程度動かして、表情を半眼状態にします。
[Freeze]ボタンを押すと、今の表情がベースオブジェクトに上書きされます。別名保存したモデルを別メタセコで開き、変えた表情を移植して形を調整し、オブジェクト名を[elem:EyeHalf-Face]としてターゲットモデルとします。
6.プラグインを使って左右非対称に
ニコ目を元に、片目だけ目を閉じたモーフターゲットを作成すれば、ウインクが出来るようになります。頂点数が少ない場合には、頂点を一つ一つ動かして片目を瞑った顔を作ってもOKですが、頂点数が多い場合にはプラグインを使用することで作業を楽にすることが出来ます。
MASH BRAINさんのHP http://www.asahi-net.or.jp/~jv9h-msk/index.html にある生成・変形プラグイン「モーフ変形」は、選択頂点だけを、ターゲットオブジェクトに向かってモーフィングした形状を作れる便利なプラグインです。これを使い、右目閉じ、左目閉じのターゲットオブジェクトを作成しておきます。
使用したのはVer.0.10。使い方は拍子抜けするほど簡単で、ベースオブジェクトの“変形させたい範囲の頂点”を選択してプラグイン「モーフ変形」を起動。ターゲットを選択、「選択部にのみ使用」「新規オブジェクトとして作成」にチェックを入れるだけで、片目を閉じたモデルが手に入ります。
7.UVモーフィングで視線操作
眼球と顔が一体化しているこのモデルは、視線を動かすためにはテクスチャのUV操作をする必要があります。ボーンプラグイン「Keynote」は、UV座標の変化もモーフィングさせることが出来ます。 左右を向かせるために用意するターゲットオブジェクトは一つでOKです。[Face]を複製し、オブジェクト名は「elem:EyeLR-Face」に設定します。
続いて、材質「Eye」を選択してUV編集を起動します。 眼球のUV展開図を左に(モデル上では視線が右を向く)動かして、視線を動かします。 右目と左目が同じ距離だけ動くと少し不自然なので、適宣調整してください。
ボーンプラグインを起動して視線動作を確認します。モーフターゲットに「EyeLR」を選び、スライダを右に動かせば視線も右、スライダを左に(モーフ比率がマイナスの値)動かせば、視線は左を向きます。
上下に視線を動かしたターゲットも同様に作成すれば、左右に組み合わせて自由な方向へ視線を向けることが可能になります。目閉じモーフィングと組み合わせれば、それだけで様々な表情が作れます。 ただし、この手法では、左右と上下の動きは、面倒ですが別途コントロールしなければなりません。
※MMD(MikuMikuDance)にモデルを持っていく場合には、UVによるモーフィングは非対応なので、視線コントロールは別の手法、具体的には眼球のボーンコントロールを行う必要があります。
8.口パク作成
続いて口の開閉状態を作成します。まずは目と同様、ベースオブジェクトをコピーし、一番大きく開いた口ターゲットを作成。
これをモーフィングで動かして小さな口モデルを作成・フリーズし、頂点を調整して各種の必要な口を用意します。単純に表情付けをしたいだけなら笑顔、小口など必要に応じて。歌を歌わせる、こだわる場合にはリップシンクに合わせ「あ」「い」「う」「え」「お」+アルファを用意します。
9.眉毛
眉毛にもターゲットオブジェクトを作成。怒りの逆への字、困惑のへの字程度は用意しておくと便利です。
10.完成
表情をつくるために目、口、眉毛と要素毎にターゲットを用意したので、ターゲットオブジェクトがだいぶ多くなりました。Keynoteプラグインは嬉しいことに、モーフターゲットの数に制限はありません。複数の表情を組み合わせることで、作り手も予想していなかった意外な表情、より多彩な表情を生み出すことが出来ます。前回までのポージングに加え、これらの表情を自由に組み合わせて、生き生きとした絵を作りましょう。
次回はレンダリング、別ツールについて簡単に説明して講座は終了となります。
ではでは!
コメント