チュートリアル / CharacterArpeggio~3ds Max 2017 キャラクター作成術~
第7回:リギングその② ~フェイシャルリグとメカリグ~

2017.04.12

  • 3ds Max
  • アニメ
  • キャラクター・リグ
  • ゲーム
  • チュートリアル
  • 中級者
  • 学生・初心者
  • 教育
  • 映画・TV

※今回の使用ツール:3ds Max 2017

前回の基礎リグに続き、フェイシャルリグを中心に残りのリギングを行っていきます。特にフェイシャルは動きが多い上にキャラクター性にも影響が出ますのでより気を使って組んでいきましょう。もう1年近く前になりますが第1回で丁寧に整理しておいた顔のトポロジもここで活かされてきます。

制御系ごとに個別で作成

さっそく今回のメインであるフェイシャルリグを組んでいきます。まずはじめにリグの全体像を画像にしてみました。ちょっと複雑そうに見えますが理解してしまえばそんなに難しいことではありません。

この組み方のポイントは『まぶた用』や『あご用』その他の『モーフターゲット』などを別々に作成してから本体のモーファーを介して全て並列に繋いでいる点です。それぞれ個別で見ればスキンかモーファーだけの至ってシンプルな構造ですので個々の作成難易度はさほど高くないかと思います。個別で作っているため不要なリグ構造があったらモーファーのチャンネルを削除するだけで部分的に切断も容易です。また、コントローラーだけが本体と一緒にBipedに付いていきリグの大部分は原点に置いたままですので、組み方次第では軽量化にも繋がります。

まずは変形の大きい『まぶたリグ』と『あごリグ』を作成していきます。まぶたについては第1回でトポロジの整理と回転軸の決定が完了していますので、本番用としてスキンの再調整とコントローラーの接続、まつ毛の追加が今回の作業になります。まとめると以下の画像のような感じです。このモデルでは目を閉じた状態をデフォルトとしていますが、正常に開閉が出来れば開けた状態をデフォルトとしても問題ないと思います。この判断はモデル形状によっても変わるので難しいところです。上下まぶたのふち部分はウェイトの割合をぴったり一致させるように気をつけましょう。ズレていると開閉には問題なくとも、閉じたままでの変形に不備が出ます。

あごのリグは『下あごを下げ口を開ける』と『口は閉じたまま下あごだけ下げる』の両方に対応できるようボーンを複数使用して作成します。仕組み上本来必要はありませんが、ここではあえてポイントヘルパーを挟んでボーン位置を少しずつずらしています。これは完全に同じ位置にボーンが複数あるとスキンウェイトのミラーリングが正常に機能しないことがあるためです。

それぞれ個別にリグが完成したらダミーモデル(本体)のモーファーに登録しましょう。このような『モーフターゲットが常に変形する仕組み』を使用する場合は、モーファーの「自動的にターゲットを再ロード」のチェックを入れ、チャンネルの値は100に固定しておきます。コントローラーは本体にくっついていきますのでBipedの頭にリンクしておけばOKです。

動きを細分化したモーフターゲット

次に眉毛や口まわりの細かな動きをモーフターゲットにて作成していきます。ここで作るモーフターゲットは『怒った眉』や『笑った口』のような表情を直接表現するものではありません。表情指定タイプだと、ターゲット数が少なければ単調な表情に、逆に多すぎると何を触ったら良いか分からなくなってしまいます。 今回は『眉毛の左端を内側に』とか『右の口角を上げる』のようなポイントごとに細かく分解したものを作成します。一見ボーン+スキンで作成したほうがシンプルそうにも感じますが、単純なボーンの移動や回転で表現できない変形についてはモーフターゲットで作成したほうが結果的にシンプルかつ綺麗な形状で作成できます。

細かく分解したターゲットを作成するときは、それぞれが与え合う影響を考慮してモデリングをしないといけません。個別のモデルで作成するのではなく「ポリゴンを編集」モディファイヤを使ってそれぞれオン/オフを切り替え確認しながら作成します。

左側を作成したらシンメトリツールを使って右側も作成します。[動画 00:09:50~]
この時中心のエッジだけはシンメトリから除外されてしまうので手動でスケールXを-100%しましょう。スケールピボットをモデルの中心にするのを忘れずに。[動画 00:10:15~]
必要な分が出来たら、モデルをコピーしひとつずつモディファイヤを表示して集約していきます。[動画 00:17:40~]

実際に作成したターゲットがこちらです。全部で49個になりました。

これらのターゲットはダミーモデルのモーファーに登録し、スライダータイプのコントローラとチャンネルの値を接続します。

詳細は割愛させていただきますが、まつ毛、眉毛、歯、舌についても顔と同じ仕組みで、視線についてはルックアットコンストレイントにて、リグを追加していきます。

ここまでで必要な要素はほぼ揃っていますが、ちょっとした微調整が出来るようなリグを追加してみましょう。微調整程度ですのでモーフターゲット式ではなくボーン+スキン式にて作成します。

まずは微調整用コントローラーを作成します。コントローラーは必ず親ヘルパーを用意しましょう。[動画 00:00:10~]
コントローラーと同じ構造のヘルパーをもう1セット作成します。これらが微調整用のテンプレになります。[動画 00:01:44~]
コントローラーの親(緑のヘルパー)をダミーモデルにアタッチメントコンストレインします。これによりこれまで作成したあごリグやモーファーの変形結果にコントローラーがしっかりくっついてくる状態になります。[動画 00:02:40~]
同じ構造で作成したヘルパーの親(黄色のヘルパー)は緑のヘルパーと同じ場所に配置します。配置だけです。[動画 00:04:30~]
コントローラー(赤いシェイプ)は「変換をフリーズ」します。フリーズの理由は後ほど。フリーズするとアニメーションコントローラーがリスト化されます。[動画 00:05:20~]
リスト内の「ゼロ位置XYZ」と青いヘルパーの位置コントローラーをインスタンス化します。回転、スケールも同様にインスタンスです。[動画 00:05:35~]
ダミーモデルをコピーし青いヘルパーでスキニングしましょう。コピーしたモデルはダミーモデルのモーファーモディファイヤに登録し値を100で固定します。[動画 00:06:28~]
これでほぼ微調整用の構造は完成になりますが、赤いシェイプの移動に加え、その親の緑のヘルパーがアタッチメントで移動していることにより、コントローラーの“二重移動”が発生してしまっています。先ほど「変換をフリーズ」した理由はこれになります。赤いヘルパーのリストコントローラーから「ゼロ位置XYZ」の重みを0にしましょう。二重移動が解消されます。[動画 00:11:55~] 動画では1ポイントですが同じ要領で複数個所作成します。

フェイシャルリグはこれにて完了です。このリグを使用して、いくつか表情付けテストをしてみましょう。やっと無表情から解放されます。

メカリグは軸が大事

右腕は大部分がハードサーフェスですのでパーツ単位での変形はほぼしません。第2回でモデリングの際にを取っておいた回転軸のポイントヘルパーを元に組んでいきます。
『一軸回転』や『球体関節』の制御はコントローラーにリンクしていくだけで出来てしまうのでとても簡単です。しかし『2~3軸別構造の回転』や『大きな変形に付随して動く細かいパーツ』はちょっと工夫が必要です。それぞれ簡単なモデルを使用して見てみましょう。

まずは『3軸別パーツでの回転』です。[動画 00:00:00~]
単純に回転軸ごとに階層構造にし、3つのコントローラーを使用して制御することは可能ですが、これでは面倒です。ひとつのコントローラーからそれぞれの軸において回転値を取得し、3つに展開するように組んでいきます。やることは至ってシンプルでアニメーションコントローラーをバラバラにインスタンスするだけです。[動画 00:00:45~]
ただし、ここで注意が必要なのがコントローラー(黄色いヘルパー)のオイラー軸配列が『XYZ』なのに対し関節パーツの構造が『XYZ』の順序では作られていない点です。これでは方向がずれてしまいます。[動画 00:01:39~]
軸配列を一致させましょう。軸配列は階層構造の子供→親の順になります。このパーツの場合は『YXZ』です。黄色いヘルパーの軸配列を『YXZ』に変更すると、回転方向が一致したの分かるかと思います。[動画 00:02:00~] あまり大きな回転をするとフリップ(急激にクルッと回るやつ)が発生しますが、コントローラーひとつですっきりさせることができました。

次は『シリンダー型のパーツ』で組んでみましょう。[動画 00:02:28~] このようなパーツにはルックアットコンストレイントを使用します。お互いにお互いをルックアットすることは出来ないので、別にヘルパーを作成してそれぞれ参照しましょう。[動画 00:03:55~]

上記の2パターンを組み合わせてみます。軸配列『ZYX』のパーツの先端にシリンダーがあるパターンです。[動画 00:04:43~]
まずはルックアットするためのヘルパーを用意します。黄色いやつです。これと青いシリンダーをお互いにルックアットしましょう。[動画 00:05:20~]
次はこの黄色いヘルパーから回転値をバラバラに分解します。先ほどの例ではインスタンスで接続しましたが、今回はルックアットコンストレイントが入ってしまっているので「エクスポーズトランスフォーム」を使用しオイラー角を取得します。[動画 00:06:10~]
取得したオイラー角を各パーツのX回転、Y回転にワイヤリングします。[動画 00:06:21~]
最後はエクスポーズトランスフォームの「オイラー配列」オプションから『ZYX』に変更します。[動画 00:07:11~]

いかがでしょうか。実際のリグも単純なペアレントとこれら2パターンを応用して組んでみました。軸配列は最初は混乱するかもしれませんが、慣れれば上手に扱えるようになると思います。

せっかくなので前回は出来なかった右腕&表情込みのポージングをしてみましょう。

さて、2回に渡って制作してきたリグも今回で終了になります。シャツの結び等小さな部分にまでは触れることが出来ませんでしたが、基本はフェイシャルリグで紹介した個別作成してモーファーに繋ぐ仕組みで組むことが出来ます。これを利用すればちょっとした変形リグなら気軽に追加や削除が行えます。組んでいる最中はビューポートがヘルパーだらけになって頭がこんがらがってしまいそうですが、是非とも覚えておきたい仕組みです。リグ構造を丸ごとごっそりBipedと共に移動させるよりはシンプルで安定感がありそうなのもなんとなく分かっていただけるかと思います。

メカ系リグについても少しですが触れることが出来ました。実際のところ真面目に回転軸の分解やら何やらやったところで、パーツがごちゃごちゃしていれば少しくらいズレてても埋まっていても分かりゃしないのですが(笑)いざという時のために綺麗に組むことが出来るようにもしておきたいですね。
完全に忘れ去られていた髪の毛についてはHairFarmのシミュレーション機能にて対応しようと思います・・・!!

次回はついに最終回です。ここまでしっかりリグを組んだので簡単にアニメーションをつけてみたいと思います。

ではまた!

まとめ

・フェイシャルリグは『原点で変形してモーファーで参照する仕組み』
・モーフターゲットは表情指定ではなく動きを細分化したもの
・メカリグは回転軸の理解が大事!