チュートリアル / 人体構造を意識したキャラクターセットアップ方法 ~ゼロから始めるMayaリギングの基本~
第4回:人体セットアップシンプル編/ケージモデル

  • Maya
  • アニメ
  • インテグラル・ヴィジョン・グラフィックス
  • キャラクター・リグ
  • ゲーム
  • コラム
  • チュートリアル
  • 学生・初心者
  • 映画・TV

00.ごあいさつ

皆様こんにちは。
インテグラル・ヴィジョン・グラフィックスのリードリガーの古屋です。

前回はスキンバインドとHumanIKの設定について解説しました。
今回はリアル編に入る前に、複雑なモデルやハイメッシュのスキニング作業の短縮と効率化に役立つ、ケージモデルについて解説していきます!

本番モデルとケージモデル

01.ケージモデルとは

ケージモデルとは、ウェイトの調整用にエッジが最適化されたモデルのことを指します。

ここでいう最適化とは、ウェイト作業をしやすくするために頂点数を減らし、トポロジーを整頓してシンプルなものにすること、になります。

ケージモデル

実際に映像やゲームで使用されるモデルは頂点数が多かったり、クリーチャーや服のしわの表現などでトポロジーが複雑になっていると、ウェイト調整が難しい場面があります。

今回のコラムでは、実際に使用される本番モデルを「ハイメッシュ」と呼び、これにケージモデルで調整したウェイトを転送する、という流れで紹介していきます。

ケージモデルを使用した作業フロー

02.ケージモデル作成によるメリット

ケージモデル作成によるメリットは作業量を少なくすることです。
作業の項目数は増えますが、トータルの作業時間を減らすことが出来ます。

作業量の圧縮

ケージモデルを使用する事で作業時間の短縮につながるポイントは
①作業が必要な頂点数を減らせる事
②ウェイト作業がしやすいトポロジーに整えられる事
③ウェイト転送時にMayaのウェイトの自動補間を利用できる事
の3つです。

02-1.①作業が必要な頂点数を減らす

ウェイト作業とは各頂点のウェイト値を編集する作業なので、頂点数が少ないと作業量も少なくなります。

ハイメッシュとケージモデル

02-2.②ウェイト作業がしやすいトポロジーに整えられる

ハイメッシュのトポロジーは狙った形状を再現するために設定されますので、当然ウェイト設定上の都合を意識したものにはなりません。
こういった複雑な形状に対して、直接ウェイト作業を行うのはかなり難易度が高いですし、作業後の手直しにかかるコストも大きくなります。

複雑な形状

単純な形状にしたケージモデルで作業することで、こういった問題を回避できます。

02-3.③ウェイト転送時のMayaのウェイトの自動補間を利用する

バインドしたメッシュを綺麗にデフォームさせるには、それぞれの頂点のウェイト値が綺麗なグラデーションになっている必要があります。
手作業でこのようなウェイト値を設定するのは大変ですが、ウェイトの転送時に行われるMayaの自動補間機能を利用すると、手早く設定することが出来ます。

ウェイト値とウェイト転送

転送後の軽微なウェイト調整はどうしても発生するものですが、転送した時点でウェイト調整の8割は終わっているくらいの状態にできます。

03.ケージモデルを用いた作業の流れ

03-1.ケージモデルを作成する

実際にケージモデルを作成していきましょう。
今回はゼロから作成する方法として、cube等のエッジを分割し、メッシュに合わせて吸着して作成する手順を紹介します。

■ケージモデルの作成手順

左腕を例にケージモデルの作成を行います。
まずはメッシュの腕の位置に、腕より一回り大きいサイズのcubeを配置します。

ケージモデルの作成手順

今回はModeling Tool Kitを使用して作成していきます。

Modeling Tool Kit

Connect(接続ツール)を使用してモデルにエッジを追加します。

Connect(接続ツール)を使用してモデルにエッジを追加

手首側と肩側のポリゴンは不要なので削除して筒状にしておきます。

手首側と肩側のポリゴンは不要なので削除して筒状にしておきます

次にcubeを腕のメッシュに合わせてリラックスしていきます。
Quad Draw(四角ポリゴン描画)はポリゴンを作成するツールですが、”Shift”を押しながらマウス左ボタンを押すと、エッジを滑らかにするリラックス機能を有しています。
この機能とMake Live(ライブサーフェスにする)を使用すると、ライブサーフェスにスナップされたトポロジーを作成することができます。

cubeを腕のメッシュに合わせてリラックスしていきます。

肘や膝の関節の外側部分はExtrude(押し出し)を行いエッジを分割しましょう。

肘や膝の関節の外側部分はExtrude(押し出し)を行いエッジを分割

エッジの分割が少ないと感じたらMulti-Cut Tool(マルチカット ツール)を使用して追加しましょう。
カメラベースにドラッグすることでポリゴンにエッジを追加することができます。

Multi-Cut Tool(マルチカット ツール)を使用して追加

同様の手順で胴体や足などの他のパーツも作成します。

胴体や足などの他のパーツも作成

それぞれのオブジェクトをCombine(結合)してからBridge(ブリッジ)を行うと、隙間にメッシュを作成することができます。

それぞれのオブジェクトをCombine(結合)してからBridge(ブリッジ)を行う

上記の手順を繰り返し行うことで、ケージモデルを作成することができました。

ケージモデルを作成

また、今回紹介した手順の、より詳細な解説を行っているウェビナーがあります。
こちらも参照していただきますと、より理解を深めることができますので、ぜひご覧ください。

参考
Autodesk Maya パーフェクトリギングウェビナー
Mayaパーフェクトスキニングウェビナー~美術解剖学に基づくロジカルスキニング講座~

03-2.ハイメッシュへウェイト転送する

ケージモデルのウェイト調整が完了後、ハイメッシュにウェイトを転送しましょう。
その際、ウェイトの転送方法を調整すると、より良い結果を得ることができます。

■Copy Skin Weights

ケージモデルからハイメッシュにウェイトを転送する際には 、Skin > Copy Skin Weights を使用しましょう。
Copy Skin Weightsはバインドされたメッシュ間でウェイトをコピーすることができます。

Copy Skin Weights

①ソース(ケージモデル)→ ターゲット(ハイメッシュ)の順番に複数選択をします。
ここで気を付けたい点として、インフルエンスに含まれないジョイントのウェイトは転送することができません。
そのため、ソースとターゲットは同一のインフルエンスジョイントでバインドされている必要があります。
以前ご紹介した、インフルエンス管理ツールを活用することで、簡単にバインドするジョイントを探すことができます。

インフルエンス管理ツールを活用する

②Skin > Copy Skin Weightsを実行、またはSkin > Copy Skin Weights□でオプションを開いて実行します。
メッシュやジョイントの状態等に合わせてオプションを適切に設定することで、より良い転送結果を得ることができますので、色々試してみましょう。
オプションの詳細については後述いたしますので、参考にしてください。

③ウェイトが転送されていることを確認します。
ハイメッシュで更にウェイトを詰める必要がある場合は、ウェイト調整を行います。

ウェイトが転送されていることを確認

■Copy Skin Weightsのオプションについて

Copy Skin Weightsのオプションを変更することで、ウェイトの転送結果が変わります。
よく使うものに絞ってご紹介いたしますので、参考にしていただければと思います。

Copy Skin Weightsのオプション

Surface Association(サーフェスの関連付け)
ソースとターゲットのメッシュやカーブ、サーフェスの相関について定義します。
これにより転送する方法が変わるので、望む結果が得られるものを試してみてください。

・Closest point on surface(サーフェス上の最近接ポイント)
ソースとターゲット間の最近接ポイントでウェイトを補間します。
大体のケースではこちらの設定で問題ありません。

Closest point on surface

・Closest component(最近接コンポーネント)
ソースとターゲットの間で一番近い距離のコンポーネント(頂点やCV)でウェイトを転送します。
ウェイトは補間されず、ソースに設定しているウェイト値がそのまま使用されます。

Closest component

・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.おわりに

今回はケージモデルについてご紹介いたしました。

マイメッシュとケージモデル

適切なケージモデルを使うことでスキニングの効率が上がりますので、上手く活用していきましょう!
次回はより表現の幅を広げる、補助骨についてご紹介する予定です。
それでは、次回もよろしくお願いいたします!

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。