MYAM_characterSetupToolset2

■ツール概要

ジョイント作成からコントロールリグの作成まで、キャラクターセットアップをトータルでサポートするツールセットです。

採用しているリグ生成の方式はモジュラーリグ方式と呼ばれる方式で、腕や脚など任意の部位を定義し、それぞれの部位にFKやIK、ダイナミックスプラインIKなど好みのタイプのコントロールリグを追加することが出来ます。
2足歩行、4足歩行生物に限らず、どのような構造の対象に対してもコントロールリグを作成することが出来ます。

また、一度作ったコントロールリグは、作成に関わる全ての設定をファイルに保存することができ、以降はその設定ファイルを使用して全自動でコントロールリグを再構築することができます。
この仕組みにより、モデルデータの変更に対応しやすくなっているほか、別のキャラクターでもジョイントの構造が同じであれば、同じ設定ファイルを使用して即座にコントロールリグを自動生成することが出来ます。

その他の機能には、リギングの前に行うジョイントの位置や方向のクリーンアップ機能や、スキンウエイトを壊さずにメッシュをジョイントに再バインドする機能、各コントローラの色や形などの見た目を編集する機能など、キャラクターセットアップ作業の中で必須となる機能が充実しています。


 

■GUI/機能概要


 

□メインウインドウ(共通部分)

・ツール使用時に頻繁に行うジョイント選択を補助します
選択中のジョイントの子ジョイントや親ジョイント、兄弟ジョイント、ツリーの末端ジョイントなどをボタンひとつで選択できます


 

□Metaタブ

・Meta情報システムを操作できます
※Meta情報システムは、リグの設定情報などの内部情報管理システムでアーティストは使用せず、TAが使用します


 

□Baseタブ

・デフォームリグのメッシュグループや、ジョイントグループなどの基本的なグループ階層を自動作成します

・デフォームリグをもとに、Controlリグのコントローラーグループなど、基本的なグループ階層を自動生成できます

・デフォームリグをもとに、モーションキャプチャリグを自動生成できます

□基本グループ階層


 

□Jointタブ

Create Base Joints

・2足歩行生物や4足歩行生物など、汎用的なジョイント構造をシーンファイルに保存し登録しておき、プルダウンメニューから選択して即座に呼び出して使用できます

Create Joint

・meshの頂点やエッジ、フェースなどのコンポーネント上にジョイントを作成できます

・NURBSカーブ上にジョイントを作成できます
ジョイントは任意の数だけ作成でき、カーブの始点から終点にかけて各ジョイント間隔が徐々に広がっていくように、間隔の偏りを指定することができます

また、各ジョイントはチェーンの状態で作成するか、それぞれが親子関係を持たず独立している状態で作成するかを選択できます

Edit Joint Structure

・ジョイントの分離や結合、挿入など、ジョイント構造を簡単に変更できます

・ジョイントの配置を仮想平面上に整列できます

例として、指ジョイントの配置を整える例が挙げられます

左が処理前、右が処理後です

・ジョイントの位置を自動的にミラー配置出来ます

Cleanup

・回転方向指示オブジェクトを使用し、グラフィカルにジョイント方向を確認し、クリーンアップ出来ます(詳細は後述)

・一度作った回転方向指示オブジェクトは、方向設定を保存しておきいつでも読み込めます

・回転方向指示オブジェクトは、ジョイントチェーンの配置から計算し、自動的にジョイントチェーンが描くカーブの外周方向へ向けることが出来ます


左が処理前、右が処理後です。

・ジョイントの方向をrotateアトリビュートまたはJoint Orientアトリビュートに集約できます

・ジョイントの方向を簡単にワールド軸に向けることが出来ます

Joint Pose

・モデリングしやすく、ジョイントによる変形の破綻を最小限に抑えられるAポーズ(弛緩ポーズ)と、リギングする際に規格化しやすいTポーズの切り替えが行えます。(詳細は後述)

・Tポーズ時の各ジョイントの向きは、設定ファイルを用いて細かく指定できます
肩ジョイントは、ワールドX軸方向に向ける、背骨はワールドY軸に向けるなどの指定が可能です

・Aポーズ/Tポーズ切り替えを行うため必要な事前計算を行い、結果を各ジョイントへ記録します

Create Assist Joints

・ジョイントに捻りや曲げを補間するための補助ジョイントを作成できます
補助ジョイントの挙動はGUI上のオプションから細かく指定できます

・特定の骨に対し、どのタイプの補助ジョイントを追加するか、設定ファイルに記述しておき、その設定ファイルを元に、補助ジョイントを一括で自動作成できます

Joint Display Control

・ジョイントのローカル軸表示をボタンから手軽にオン・オフできます

・ジョイントに関する表示設定を初期化出来ます
ビューポートの設定とジョイントのradiusアトリビュートをデフォルトの状態にリセットします


 

□Joint-Cleanupの機能でジョイントの回転軸を調整する様子

回転方向指示オブジェクトは、シングルチェーンジョイントに対して作成される際、自動的に子ジョイントの方向を向きます。
分岐ジョイントに対して作成される際は、選択式のオプションによって方向をユーザーが決定します。
オプションには、任意のオブジェクトに向ける、ワールド軸に合わせる、子ノードの平均位置へ向けるなど多数のオプションがあり、自由に選択できます。


背骨ジョイントの末端を制御する回転方向指示オブジェクトを首ジョイントに向けた例です。


回転方向指示オブジェクトは、方向が矢印によってわかりやすく表示されるので、直感的にジョイントの回転方向を指定することが出来ます。


ジョイント方向のクリーンアップ前


ジョイント方向のクリーンアップ後


 

□A/Tポーズの切り替え結果と、それぞれのメリット

・Aポーズ

ジョイントが可動限界範囲の中間付近にあり適度に弛緩している自然な姿勢なので、メッシュの変形に無理がなく、理想的で、モデリングもしやすいです。
最終的に、モデラーはこの姿勢でメッシュとジョイントをバインドしデフォームリグ作成します。

・Tポーズ

旧来のバインドポーズです。
汎用的な姿勢であるため、別キャラ間でモーションの流用がしやすいメリットがあります。
リガーはTポーズの状態でキャラクターデータを受け取り、そのままTポーズの状態でコントロールリグを作成します。
コントロールリグを作成し終えたら、最後に別のツールを使用し、各コントローラのポーズを変更してAポーズを復元します。


 

□Skinタブ

Run Maya Commands

・よく使うMayaのスキニング機能へアクセスできるボタンです

Transfer – Cache Weight

・頂点ごとのスキンウエイト情報を直接取得し、数値データとして保存します。
ウエイトマップのような精度の低い方法を使わず、頂点ごとに設定されているウエイト情報を正確に記録します。

・保存されたウエイト情報を読み込み、復元します。
ウエイト情報は正確に保存されているので、読み込み時にウエイト値の不整合による破壊が起こりません。


 

□Rigタブ

・ジョイントツリーを部分ごとに名前をつけ、「パーティション」として切り分け、各パーティションに対し、コントロールリグタイプを示すボタンを押し、必要なコントールリグを追加できます。

・Auto attach rigボタンにより全コントロールリグをいつでも有効化できます

・コントロールリグの構成を変更する場合など、Auto detach rigボタンによりいつでも全コントロールリグを無効化出来ます。
無効化したら、即座にコントロールリグの構成を編集できます

・作成できるコントロールリグのタイプは、テンプレートを元にしたスクリプトを追加することで無限に増やせます。
また、スクリプトを追加すると自動的にコントロールリグタイプボタンも追加されます。


 

□複数タイプのリグを作成する例


全身にFKコントールリグを作成した後、手脚にローテートプレーンソルバIKコントロールリグを追加しました。

・ツールの状態

左右のarmとlegはfkとrpikがオンになっていることが確認できます。


 

□Extra Rigタブ

・テンプレート化できない特別な処理をスクリプトにまとめ、ボタンとして簡単に追加できます
例えば、パーティションをまたぐ各コントローラ間のコンストレインを後処理でまとめて追加したい場合などに、指定フォルダにスクリプトを追加することで、対応するボタンが自動的に作成されます。

・追加機能の例として、プロキシメッシュの自動作成などがあります

上記画像の色分けされたパーツは肩、肘、補助ジョイントそれぞれから強く影響を受けており、ツールによって個別に複製されたメッシュです。(わかりやすくするため着色しました)

各デフォームリグジョイントから最も強く影響を受けるフェイスを抽出し複製した後、複製されたそれぞれのメッシュを、対応するコントロールリグへ親子付けして配置します。

これにより、デフォームリグを非表示にしたままでも大雑把なアニメーション作成が行えます。
また、スキニングを行わないため、アニメーションの再生が非常に高速になります。


 

□Rebuildタブ

・一度作成したコントロールリグの設定をファイルに保存できます

・保存されたコントロールリグの設定を読み込み、自動でコントロールリグを再構築できます

・ジョイント構造が同じキャラの場合、既存キャラからコントロールリグ設定を流用し、即座にコントロールリグを自動作成することが出来ます


 

□Editタブ

・各コントローラの配置を左右対称化出来ます

・コントローラのシェイプに対し、各種編集が行えます

・各コントローラのカラーを変更できます

・コントローラの回転軸を反転できます