これまでのウェイトマップの活用はメッシュの流れを確認する目的で活用してきましたが、なるべく Vertex Paint の Falloff Distance で望んだスキニング結果が得られるようにスケルゴンを作成、調整します。本稿で紹介するワークフローで肝となる行程です。
Vertex Paint の Falloff Distance で得られたウェイトマップを修正しながら造形を詰めるため、よい結果が得られるほど後の修正が楽になります。
足りなかったwrist、handという名称の二つのスケルゴンを新たに追加しています。
親子関係を構築するため、ダミーのスケルゴンで接続しても良いのですが、 Vertex Paint で Falloff Distance を実行した際、ウェイトマップが作成されてしまうため、この方法は使いません。
Vertex Paint が隠したスケルゴンは対象外にしてくれたら楽になるのですが。
参照 => 補足 : スケルゴンに関する注意事項
Vertex Paint の Falloff Distance 一括適用では握り拳を作った時に理想とする変形結果が得られていないため、色で示したポリゴン付近に4つの独立した小さなスケルゴンを追加します。
このスケルゴンは最終的に赤色で示したスケルゴンの子にします。
ウェイトマップを増やしたくない場合は、レイアウト上で補正用Boneを仕込んだ方が楽ですが、オブジェクトに汎用性を持たせたいのでウェイトマップで作成する事にします。
また、このスケルゴンは単独で動く事はないため、このスケルゴンで作成されるウェイトマップを赤色で示したスケルゴンのウェイトマップに統合する事でも同様の結果が得られます。つまり、スケルゴンを狙ったウェイトマップを得るための道具として活用します。
ウェイトマップの統合には以下のツールで行えます。
このアプローチの具体的な方法は実例を踏まえて後ほど説明します。
ポイント情報パネルで確認すると Vertex Paint の Falloff Distance でウェイトマップを一括作成した場合、必要のない頂点に極端に低い値のウエイト値や 0%のウェイトが適用されているのが確認出来ます。
これらの不要なウエイト値はデータの無駄だけでなく、後述するウェイト値修正の際、邪魔になるため削除しておきます。
0ウェイトを含む特定の値以下のウェイト値削除は Cull マップ(上図)でも行えますが、ここはVertex Paint で削除します。
Stat タブを開きます。Falloff Distance を適用した場合、大抵の場合、Threshold (しきい値)は 0.01 が適切だと思います。(GUIはスペルミス)
Select ボタンでしきい値が 0.01 を下回る値が適用されているポイントが選択されます。つまり、1=100%という事になりますので、1%以下のウエイトが適用されている頂点が選択されます。
Discard Selected ボタン押すと選択されたウェイトは削除されます。なぜか 0ウェイトは選択する事が出来ません。バグ?Bone タブでウェイトマップを切り替え、全てのウェイトマップに対し同様の処理を繰り返します。
左は実行後の結果です。同じ頂点に適用されているウェイトマップは3つに減っている事が確認できます。この処理はウェイト値修正作業の前に必ず行なうようにして下さい。
また、この処理ではウェイトマップの境目に0ウェイトが残ります。数値入力で詰める場合、境目に0ウェイトが残る方が調整し易いため、このようにしています。
0 ウェイトを削除したい場合は、"Cull マップ” でも行えますがウェイトマップ単位でしか実行出来ないので手間が掛かります。Fujio Ichikawa氏のスクリプト Clear ZPs in All Weight Maps を使えば一発で0ウェイトを削除する事が出来ます
スケルゴンはこちらで説明しているように、親子関係をつけた地点で接続されるという制約あります。”スケルゴン回転” ツール使用時に、接続されていないスケルゴンも追随する全てが接続されたスケルゴンを新たに作成します。
先ず、ポリゴン選択モードに切り換えて ”状態パネル” からスケルゴンと書かれた右にある +をクリックしてスケルゴンを選択してコピーし、別レイヤにペーストして複製します。
複製したスケルゴンに対して、全てのスケルゴンが一つに繋がるようにダミーのスケルゴンを作成します。
ポイント選択モードに切り換え、親のスケルゴン、子にしたいスケルゴンの順番でポイントを選択し、ショートカット “p” 線ポリゴンを作成します。
同じ要領で線ポリゴンでスケルゴンを結びます。必ず、親 → 子 の順でポイントを選択するようにして下さい。
ポリゴンモードで作成した線ポリゴンを全て選択し、セットアップ>スケルゴン>その他>”スケルゴン変換” を実行します。
すると親子付けされたスケルゴンが一括で作成されます。線ポリゴンは選択状態にありますので、そのまま削除します。
このスケルゴンは Vertex Paint や Bone としては使用せず、ウェイトを修正した際にスキニング結果を確認する用途のみに使用します。
接続されていないスケルゴンをレイアウトの Bone変換時に親子付けされた状態に変換する方法はこちらで説明しています。
スケルゴンの切り替えはスケルゴン自体を差し替えるよりもメッシュオブジェクトをカット&ペーストしてレイヤ間を移動させた方が楽に行えます。