チュートリアル / CharacterArpeggio~3ds Max 2017 キャラクター作成術~
第6回:リギングその①~人体の構造を理解する~
- 3ds Max
- アニメ
- キャラクター・リグ
- ゲーム
- コラム
- ジェットスタジオ
- チュートリアル
- 中級者
- 学生・初心者
- 教育
- 映画・TV
※今回の使用ツール:3ds Max 2017
今回はリギングです。ずっと棒立ちだったキャラクターに骨格やコントローラーを入れ、ポーズやアニメーションを直感的につけられるよう仕組みを作っていきます。
まずは、これから組むリグのコンセプトを決めておきましょう。やることやらないことを先にイメージしておきます。
何にでも対応できる万能なリグにはあまり意味はありません。万能リグが出来たとしても、それと引き換えに扱いやすさが損なわれることがほとんどです。
・対応力よりも扱いやすさを重視
・シンプルな仕組みできれいな変形
・モーションデータの汎用性
・スケールや特殊なデフォームは考慮しない
・別プラットフォームへの出力は考慮しない
以上のように、扱いやすくかつ出来るだけシンプルにすることを意識していきます。難易度が高く複雑になりがちなスケーリングやデフォームは無しにします。また、レンダリング含め3ds Max 内で完結する予定なので外部への出力対応も無しです。これらに加え、どんなコンセプトであれ軽量化を心がけることは忘れずに。
骨格をイメージしてBipedを配置
骨格には、3ds Max に標準で搭載されているBipedという仕組みを使っていきます。他のツールへの互換性を考えたら怪しさはありますが、3ds Max 内だけで使うことが前提であれば十分に扱いやすい仕組みです。
作成パネル>システムからBipedを作成したら、まずフィギュアモードに変更し「構造」の各項目を設定します。[動画 00:00:41~]
背骨の分割はあまり多くても意味が無いので3分割程度にします。指は「指間接」にチェックを入れ手のひらを構成する中手骨を再現、足の指は靴を履いているので1本で表現します。また、ツイストリンクにチェックをいれねじれの大きい箇所にツイストボーンを作成します。ふくらはぎだけは骨格の構造的にほぼねじれないのでツイストを0にしています。
「構造」を設定し終えたら配置をしていきます。関節の位置や動きをイメージしましょう。必ずしもシンプルな一軸回転ばかりではありませんが、しっかりと構造を理解すればどこに配置すべきかおのずと見えてくるでしょう。[動画 00:02:00~]
衣服越しだと関節位置の確認がしにくくなってしまうので、不要な部分においても全身のモデルはざっくり作っておきましょう。(モデリングの時に言っておくべきでしたが・・・)
ここで使う配置用のアタリとしてだけでなく、後述のスキン展開用ベースにも使用します。シミュレーションを予定している場合はコリジョン用モデルにも応用できます。今回はMarvelousDesigner用にアバターとして作ったモデルを調整して使っていきます。[動画 00:04:50~]
配置をしながらモデルの形状も微調整してしまいます。Aポーズだけを気にして作っていたモデルは必ずしも骨格的にベストな状態で作成できているとは限りません。ここでは肘の角度と指関節の比率を調整しています。
Bipedには女性に多く見られる肘の“運搬角”が再現できない欠点があります。モデリングの段階では気にせず若干の角度をつけてしまっていたのでここでBipedに合わせて微調整をしています。この調整は妥協ですけどね。。。[動画 00:14:50~]
指関節もそれぞれの比率をあまり気にせずモデリングしてしまったたので、配置したBipedを動かしながら調整をしています。指をまとめてZ回転で曲げたとき出来るだけスムーズにこぶしが作れるようにしておくと扱いやすいですね。[動画 00:21:35~]
これ以外にも特に『上腕と前腕の長さ比』や『大腿と下腿の長さ比』は極端にズレるとポーズの制約が出やすいため確認をしておきましょう。下記リンクを参考に調べてみたところ画像のような比率が平均的なようです。
参考:人体寸法データベース 1991-92
スキンを入れてチェックしてみましょう。[動画 00:32:24~]
3ds Max 2017(2016ではExtension1以降)の新機能である「多面体ボクセル」や「ヒートマップ」を活用します。[動画 00:34:45~] 完璧とまではいきませんが、ボタンひとつでかなりきれいな状態までもっていくことが出来ます。これらの機能を使用した後は頂点に直接ウェイトが設定されるのでエンベローブは無効になります。同時には使えないので注意です。微調整は頂点レベルで行うことになります。ここであらかじめチェック用のモーションを作っておくと、この後のウェイト調整もしやすくなるので便利です。[動画 00:33:47~]
破綻箇所を追加ボーンで補う
骨格を意識しつつ関節位置を決めたとはいえ、筋肉まで再現していない以上は破綻する部位は必ず出てきます。ここでは、特に破綻の目立つ部位に関して追加のボーンを仕込んでいきます。
まずは破綻箇所を確かめるためにもBipedだけの状態でウェイト調整をしてしまいましょう。前項にスキンを入れた全身モデルをそのままスキン展開用のベースとし、後に衣服を含めた本番用のモデルにスキンウェイトを移します。最終的には使用しなくなるモデルですが、丁寧にウェイトを調整します。[動画 00:00:00~]
肘を見てみましょう。このままでは破綻が激しいですね。曲げたときの骨の出っ張りが全くありません。[動画 00:05:30~] この出っ張りは尺骨という前腕を構成する骨によるものです。この骨とその周りの筋肉を意識してボーンを配置してみます。
1リンクぶんのボーンを作成し、エンドボーンに位置コンストレイントとルックアットコンストレイントを適用すると、自由に伸縮できるボーンが出来ます。これを追加ボーンの基本形とし、関節周りの構造を再現してみます。[動画 00:06:05~]
さらに、肘の内側も動きが気になるので、上腕二頭筋、腕橈骨筋をイメージしてボーンを配置してみます。[動画 00:14:00~]
各ボーンをスキンモディファイヤに追加し、ウェイトツールを使って対応する箇所のウェイトを追加していきます。[動画 00:17:35~]
いかがでしょうか。まともに筋肉シミュレーションをしているわけではないので潰れや膨張までは再現出来ませんが、構造を理解し擬似的に再現することで、さほど難しいことはせずともかなりまともな見た目になったかと思います。
その他の気になる部分にも同じ要領でボーンを追加してみました。膝については脛骨のスライドを再現するため、膝の角度に対応して位置がズレるよう位置スクリプトコントーラーで制御しています。
また、お尻のような丸みが強い部分や前腕のような大きくねじれる部分には、適宜デュアルクオータニオンのウェイトを上げて潰れを回避します。
スキニング前にモデルの整理を
スキン展開用のベースモデルから、本番用のモデルにスキンを展開していきます。
が、その前に、モデルをきれいに整理しましょう。頂点・エッジ・面が二重になっていないか、孤立した頂点が無いか、多角形ポリゴンが無いか等、スキンを入れる前にチェックしておきます。
また、モデリング中に入ってしまった位置・回転・スケールの値はすべてリセットしてしまいます。ここで言う“リセット”とは位置が[0, 0, 0]、回転値が[0, 0, 0]、スケールが[100, 100, 100]の状態のことです。最も確実な方法は『新規プリミティブを作成 ⇒ きれいにしたいモデルをアタッチ ⇒ プリミティブを構成する面のみを削除』です。標準でもリセットっぽい機能はいくつかありますが、これらはここで言うリセットには不十分です。それぞれの特徴を以下の画像にまとめてみました。
モデルがきれいになったらスキンを展開していきましょう。
別のモデルへスキンを移すにはスキンラップモディファイヤを使用します。スキンが入っているモデルに対しスキンラップし、パラメータを調整後「スキンに変換」ボタンを押せば自動的にスキンモディファイヤが適用されウェイトも元モデルからほぼ継承してくれます。[動画 00:00:20~] ちなみにスキンラップのままにせずわざわざスキンに変換している理由は、3ds Max のラップ機能はあまり信頼できる安定性ではなく、しばしば外れてしまうことがあるためです。少し残念ですね。
スキンを移したらウェイトの最終調整を行います。ここでもウェイトツールを使いますが、頂点数が多い場合はすべて手動で滑らかに調整するのは大変なので、ざっくりと調整してから「ブレンド」でスムーズにしていきます。[動画 00:09:32~]
ボタンやバックルは歪まないように
硬いもの(ボタンやバックル等)は体や衣服と同じようにスキニングしてしまうと大きく歪んでしまい不自然になるので、アタッチメントにより制御します。
ターボスムーズ等を適用したときに面番号が変わりアタッチメントがずれてしまうことや、計算に関わる面が多すぎて負荷が高くなることを考慮し、レンダリング用のモデルに直接アタッチメントするのではなく不要な面を削除したアタッチメント用のメッシュを用意します。
基礎はだいたいできたので、ここらで簡単にポージングしてみます。
さて、今回はリグを組んでいく上で基礎的な部分をやってきました。 フェイシャルや右腕など、まだ他にもやらなければいけないことは残っていますが、今回やってきたようなBipedの配置やスキンウェイトの調整が基盤になるので非常に重要な工程です。ここがしっかりできていないと、この先細かいリグを追加していく過程でいくら調整してもうまくいかなくなることもしばしばあります。
また、骨や筋肉の構造についての理解も非常に重要です。モデリングには勿論、今回のようなボーンの構築、さらにはアニメーションをつける際の可動域についてなど、ほぼすべての工程で役立つ知識になります。CG屋さん向けに美術解剖学の書籍も多く出ていますので、基礎をおさらいしてみるのも良いでしょう。新しい発見があるかもしれません。
次回はフェイシャルを中心に残りのリグを組んでいきます。相変わらずの真顔を早くどうにかしたいです!
ではまた!
まとめ
・骨格や筋肉の構造をイメージしてBiped、ボーンを配置。
・スキニング前にモデルのクリーンナップを。
・スキンは個々にいちからではなく、ベースを作ってからスキンラップで効率よく展開。
・ボタン等の硬いものは柔らかいものとは別制御。