チュートリアル / 人体構造を意識したキャラクターセットアップ方法 ~ゼロから始めるMayaリギングの基本~
第4回:人体セットアップシンプル編/ケージモデル
- Maya
- アニメ
- インテグラル・ヴィジョン・グラフィックス
- キャラクター・リグ
- ゲーム
- コラム
- チュートリアル
- 学生・初心者
- 映画・TV
00.ごあいさつ
01.ケージモデルとは
02.ケージモデル作成によるメリット
02-1.①作業が必要な頂点数を減らす
02-2.②ウェイト作業がしやすいトポロジーに整えられる
02-3.③ウェイト転送時のMayaのウェイトの自動補間を利用する
03.ケージモデルを用いた作業の流れ
03-1.ケージモデルを作成する
03-2.ハイメッシュへウェイト転送する
04.Tips
05.おわりに
00.ごあいさつ
皆様こんにちは。
インテグラル・ヴィジョン・グラフィックスのリードリガーの古屋です。
前回はスキンバインドとHumanIKの設定について解説しました。
今回はリアル編に入る前に、複雑なモデルやハイメッシュのスキニング作業の短縮と効率化に役立つ、ケージモデルについて解説していきます!
01.ケージモデルとは
ケージモデルとは、ウェイトの調整用にエッジが最適化されたモデルのことを指します。
ここでいう最適化とは、ウェイト作業をしやすくするために頂点数を減らし、トポロジーを整頓してシンプルなものにすること、になります。
実際に映像やゲームで使用されるモデルは頂点数が多かったり、クリーチャーや服のしわの表現などでトポロジーが複雑になっていると、ウェイト調整が難しい場面があります。
今回のコラムでは、実際に使用される本番モデルを「ハイメッシュ」と呼び、これにケージモデルで調整したウェイトを転送する、という流れで紹介していきます。
02.ケージモデル作成によるメリット
ケージモデル作成によるメリットは作業量を少なくすることです。
作業の項目数は増えますが、トータルの作業時間を減らすことが出来ます。
ケージモデルを使用する事で作業時間の短縮につながるポイントは
①作業が必要な頂点数を減らせる事
②ウェイト作業がしやすいトポロジーに整えられる事
③ウェイト転送時にMayaのウェイトの自動補間を利用できる事
の3つです。
02-1.①作業が必要な頂点数を減らす
ウェイト作業とは各頂点のウェイト値を編集する作業なので、頂点数が少ないと作業量も少なくなります。
02-2.②ウェイト作業がしやすいトポロジーに整えられる
ハイメッシュのトポロジーは狙った形状を再現するために設定されますので、当然ウェイト設定上の都合を意識したものにはなりません。
こういった複雑な形状に対して、直接ウェイト作業を行うのはかなり難易度が高いですし、作業後の手直しにかかるコストも大きくなります。
単純な形状にしたケージモデルで作業することで、こういった問題を回避できます。
02-3.③ウェイト転送時のMayaのウェイトの自動補間を利用する
バインドしたメッシュを綺麗にデフォームさせるには、それぞれの頂点のウェイト値が綺麗なグラデーションになっている必要があります。
手作業でこのようなウェイト値を設定するのは大変ですが、ウェイトの転送時に行われるMayaの自動補間機能を利用すると、手早く設定することが出来ます。
転送後の軽微なウェイト調整はどうしても発生するものですが、転送した時点でウェイト調整の8割は終わっているくらいの状態にできます。
03.ケージモデルを用いた作業の流れ
03-1.ケージモデルを作成する
実際にケージモデルを作成していきましょう。
今回はゼロから作成する方法として、cube等のエッジを分割し、メッシュに合わせて吸着して作成する手順を紹介します。
■ケージモデルの作成手順
左腕を例にケージモデルの作成を行います。
まずはメッシュの腕の位置に、腕より一回り大きいサイズのcubeを配置します。
今回はModeling Tool Kitを使用して作成していきます。
Connect(接続ツール)を使用してモデルにエッジを追加します。
手首側と肩側のポリゴンは不要なので削除して筒状にしておきます。
次にcubeを腕のメッシュに合わせてリラックスしていきます。
Quad Draw(四角ポリゴン描画)はポリゴンを作成するツールですが、”Shift”を押しながらマウス左ボタンを押すと、エッジを滑らかにするリラックス機能を有しています。
この機能とMake Live(ライブサーフェスにする)を使用すると、ライブサーフェスにスナップされたトポロジーを作成することができます。
肘や膝の関節の外側部分はExtrude(押し出し)を行いエッジを分割しましょう。
エッジの分割が少ないと感じたらMulti-Cut Tool(マルチカット ツール)を使用して追加しましょう。
カメラベースにドラッグすることでポリゴンにエッジを追加することができます。
同様の手順で胴体や足などの他のパーツも作成します。
それぞれのオブジェクトをCombine(結合)してからBridge(ブリッジ)を行うと、隙間にメッシュを作成することができます。
上記の手順を繰り返し行うことで、ケージモデルを作成することができました。
また、今回紹介した手順の、より詳細な解説を行っているウェビナーがあります。
こちらも参照していただきますと、より理解を深めることができますので、ぜひご覧ください。
参考
Autodesk Maya パーフェクトリギングウェビナー
Mayaパーフェクトスキニングウェビナー~美術解剖学に基づくロジカルスキニング講座~
03-2.ハイメッシュへウェイト転送する
ケージモデルのウェイト調整が完了後、ハイメッシュにウェイトを転送しましょう。
その際、ウェイトの転送方法を調整すると、より良い結果を得ることができます。
■Copy Skin Weights
ケージモデルからハイメッシュにウェイトを転送する際には 、Skin > Copy Skin Weights を使用しましょう。
Copy Skin Weightsはバインドされたメッシュ間でウェイトをコピーすることができます。
①ソース(ケージモデル)→ ターゲット(ハイメッシュ)の順番に複数選択をします。
ここで気を付けたい点として、インフルエンスに含まれないジョイントのウェイトは転送することができません。
そのため、ソースとターゲットは同一のインフルエンスジョイントでバインドされている必要があります。
以前ご紹介した、インフルエンス管理ツールを活用することで、簡単にバインドするジョイントを探すことができます。
②Skin > Copy Skin Weightsを実行、またはSkin > Copy Skin Weights□でオプションを開いて実行します。
メッシュやジョイントの状態等に合わせてオプションを適切に設定することで、より良い転送結果を得ることができますので、色々試してみましょう。
オプションの詳細については後述いたしますので、参考にしてください。
③ウェイトが転送されていることを確認します。
ハイメッシュで更にウェイトを詰める必要がある場合は、ウェイト調整を行います。
■Copy Skin Weightsのオプションについて
Copy Skin Weightsのオプションを変更することで、ウェイトの転送結果が変わります。
よく使うものに絞ってご紹介いたしますので、参考にしていただければと思います。
Surface Association(サーフェスの関連付け)
ソースとターゲットのメッシュやカーブ、サーフェスの相関について定義します。
これにより転送する方法が変わるので、望む結果が得られるものを試してみてください。
・Closest point on surface(サーフェス上の最近接ポイント)
ソースとターゲット間の最近接ポイントでウェイトを補間します。
大体のケースではこちらの設定で問題ありません。
・Closest component(最近接コンポーネント)
ソースとターゲットの間で一番近い距離のコンポーネント(頂点やCV)でウェイトを転送します。
ウェイトは補間されず、ソースに設定しているウェイト値がそのまま使用されます。
・UV space(UV 空間)
UV座標を使用してウェイトを転送します。
ソースとターゲットのUVが共通している場合にはとても有用です。
Influence Association(インフルエンスの関連付け)
ジョイントやスケルトンなど、スキンオブジェクトに影響するコンポーネント(ウェイト値と関連しているもの)が、ソースとターゲットの間でどのように関連付けするのかを決めます。
・Closest joint(最近接ジョイント)
最近接にあるジョイントを探し、ウェイトを転送します。
同位置に重なるような骨が無いシンプルなスケルトン構造の際に有用です。
既定の設定になります。
・Name(名前)
名前に基づいてジョイントを関連付けます。
ジョイントが重複しない命名になっていれば、複雑なスケルトン構造の場合も有用です。
異なる階層では同名ジョイントができてしまう事もあるため、気を付けましょう。
また、Influence Associationは3つ指定できますが、1つだけ指定したい場合などは他の2つはNoneにしておきましょう。
ジョイントやメッシュの状態によってオプションを選ぶことにより、より良いウェイト転送結果になります。
様々なケースがありますので、試してみてください。
04.Tips
■頂点の間隔
以下の画像は、インフルエンスが1.0(A)と0.5(B)の間にあるエッジ(C)にSmoothをかけたものです。
A、Bとの間隔にかかわらず、Cのインフルエンスは1.0と0.5の中間値の0.75になります。
頂点間の距離を変えても0.75に落ち着くため、Smooth機能が頂点間の距離を考慮しないことがわかります。
そのため、頂点間の間隔はなるべく均等にした方がウェイトの減衰調整がしやすくなります。
■ウェイトを調整しやすいトポロジー
肩から肘にかけてのウェイトの減衰を調整したい場合、画像のようなハイメッシュと同じようなトポロジーだと調整が難しくなります。
そのためケージモデルでは、トポロジーをウェイトの減衰方向に合わせて作成します。
■ウェイトの減衰を制御するためのケージモデル
Copy Skin Weightsのウェイトの補間機能を利用し、ハイメッシュに綺麗な減衰をかけることができますが、補間はリニアになります。
これを更に細かく制御したい場合には、エッジの増減で減衰の範囲を調整します。
具体的にどういった事が起こるのか、左腕を例に見てみましょう。
トポロジーの異なる2つのケージモデルを用意しました。
一つはシンプルなトポロジー、もう一つは肘部分にエッジループを追加したものになります。
それぞれウェイトを転送してみると、結果に違いが出ます。
これはエッジループが追加され、ウェイトのグラデーションになっている範囲(減衰する範囲)が狭くなったことによる違いです。
ウェイトがどこまで、どのくらい影響してほしいのかを意識してケージモデルを使うことができると、転送後のデフォームも狙った結果が得られます。
ハイメッシュの形状や、どのようなデフォームをさせたいかによって、トポロジーを使い分けていきましょう。
■関節部分のエッジ
関節部分は細かいウェイト調整が必要なため、ハイメッシュの関節のピーク位置とケージモデルのピーク位置を合わせておきます。
そうすることでウェイト転送時のケージモデルとハイメッシュのデフォーム時のシルエットを近づけることができ、ハイメッシュでのウェイト作業を減らすことができます。
■一体型のケージモデル
複数のメッシュで構成されている(素材の違いなどでメッシュが分かれているような)モデルの場合に、それらをまとめた一体型のケージモデルを作成することがあります。
また、体が部位毎に分割されている場合なども、分割箇所のウェイトを揃える際には一体型のケージモデルが有用です。
例として指抜きグローブを用意しました。
グローブと被る部分の手のメッシュは削除されているモデルになります。
一体型のケージモデルでウェイト調整を行い、それぞれのハイメッシュへ転送することでスキニングの効率化を狙えます。
05.おわりに
今回はケージモデルについてご紹介いたしました。
適切なケージモデルを使うことでスキニングの効率が上がりますので、上手く活用していきましょう!
次回はより表現の幅を広げる、補助骨についてご紹介する予定です。
それでは、次回もよろしくお願いいたします!