レッスン 5: スライド デフォメーションの設定

 
 
 

これまでに、脚のメッシュに対して機能するマッスルのリグを設定しました。スライド ウェイトを使用すると、マッスル スキン デフォーマでさらに精度の高いリギングが得られます。スライド デフォーマを使用すると、スキンの下を滑らかに動くマッスルとボーンを作成できます。後半のレッスンで作成するリラックス ウェイトと一緒に使用すると、非常に効果的なスキンの押し出しとスライドの効果が得られます。

レッスンで使用するシーンを開く

  1. 前のレッスンで使用したファイルをロードするか、Lesson 5 フォルダから DragonLeg_Sliding_Start.mb ファイルをロードします。

    このファイルには、スティッキー ウェイトを使用してボーンとマッスルにスキンとウェイトが正しく設定された脚が収められています。

スライド デフォメーションを有効にする

  1. スキン メッシュを選択し、チャネル ボックス(Channel Box)入力(INPUTS)セクションで、cMuscleSystem1 ノードをクリックして、そのアトリビュートを表示します。

    デフォーマの各メイン セクションは、ラベルのヘッダで分類されています。ここでは、スライド(SLIDING)セクションに表示されるものを使用します。スライド デフォーマはオン/オフの切り替えが可能です。これにより、動作や再生を高速化できます。

  2. スライドの有効化(Enable Sliding)オン(on)に設定し、精度(quality)フル(Full)に設定したままにします。

    後から必要に応じて精度(quality)アトリビュートを調整できます。詳細については、『Maya マッスル』マニュアルの「スライダ アトリビュート」を参照してください。

スライド ウェイトをペイントする

最初にヒップの肩甲骨にウェイトをペイントします。

  1. スキン メッシュを選択し、マッスル > マッスル ウェイトのペイント(Muscle > Paint Muscle Weights)を選択します。

    マッスル ペイント(Muscle Paint)ウィンドウが表示されます。

  2. ウェイト(Weights)プルダウン メニューからスライド(Sliding)を選択します。
  3. ウェイト(Weight)スライダを 1.0 に設定し、置き換え(Replace)をオンにします。
  4. インフルエンス リストで、boneBlade を選択します。
  5. 肩甲骨が押し出される可能性のある領域のウェイトをペイントします。
    ヒント:

    ボーンの周囲の領域だけをペイントすると高速化できるうえに、メッシュの遠い部分のポイントが肩甲骨の影響を受けることがありません。

    ペイントしながら、スライド デフォメーションが発生し始めるのを確認できます。ボーンに関連するメッシュの詳細が不十分なため、スライドは正確というわけではありません。これは、小さいまたは薄いボーンやマッスルにスライドが発生する領域のスキンの詳細が必要となる良い例です。

脂肪オフセットを設定する

スライド時にマッスルやボーンがスキンを貫通することがよくある領域では、脂肪(Fat)値を設定してマッスルまたはボーンとスキンとの間にオフセットを作成できます。各マッスルまたはボーン オブジェクトでは、cMuscleObject シェイプ ノードでこの脂肪(Fat)アトリビュートがオンに設定されています。

MusHipBack マッスルは、スキンが頻繁に後ろのマッスルを貫通するため、良い例となっています。下のイメージは、スライド ウェイトがペイントされたマッスルと、0.55 に設定されたマッスルの脂肪オフセットを示します。

スキン メッシュから肩甲骨へのオフセットを定義するには

  1. 肩甲骨のオブジェクトを選択します。
  2. アトリビュート エディタ(Attribute Editor)で cMuscleObject_boneBlade1 タブを選択して、肩甲骨の cMuscleObject シェイプ ノードのアトリビュートを表示します。
  3. 脂肪(Fat)値を 1.0 に設定します。

    これでスキンが肩甲骨からオフセットされました。

スライドは少数のポイントにのみ作用するようになって少しシャープになり、マッスルに自己貫通が発生していることがわかります。次の手順では、方向ウェイトを使用してスライドを改善します。

Direction ノードを作成する

  1. 何も選択されていないことを確認して、マッスル ペイント(Muscle Paint)ウィンドウを閉じ、マッスル > 方向 > マッスル方向の作成(Muscle > Direction > Make Muscle Direction)を選択します。

    既定では、ベクトル タイプの Direction ノードが原点に作成されます。このノードには、マッスル スキン デフォーマに接続してからスライドが動作する方向を示す矢印があります。

    この場合は、何も選択されていないため、新しい cMuscleDirection シェイプ ノードが作成されます。

    ヒント:

    Direction ノードはメッシュの中心線に基づいて放射状に作成する場合が多く、カプセルは一般的に中心線に沿ったボーンに使用されるため、任意のカプセルを cMuscleDirection ノードとしても機能するように簡単に変換できます。カプセルを選択し、マッスル > 方向 > マッスル方向の作成(Muscle > Direction > Make Muscle Direction)を選択します。カプセルは、カプセルと放射状のマッスルの方向の両方に同時に変換されます。これによってカプセルは、デフォーマに接続する際にカプセルのマッスル オブジェクトとして、またはマッスルの方向として、どちらの方法でも使用できます。

  2. チャネル ボックス(Channel Box)またはアトリビュート エディタ(Attribute Editor)で、cMuscleDirection ノードのタイプ(Type)アトリビュートを放射状(radial)に設定します。

    これにより、軸に沿った放射状タイプの押し出しが作成されます。長さ(Length)減衰外側(Falloff Outer)アトリビュートは、この軸の長さをコントロールします。

    次に、方向オブジェクトをマッスル デフォーマに接続します。

Direction ノードを接続する

  1. 方向オブジェクトとスキン メッシュを選択します。
  2. メイン メニューからマッスル > 方向 > 選択したマッスル方向を接続(Muscle > Direction > Connect selected Muscle Directions)を選択します。

    方向オブジェクトが接続されますが、メッシュに目に見える変化はありません。これは方向ウェイトのペイントが完了していないためです。

  3. 方向オブジェクトを移動して背面のヒップのマッスルに揃えます。
  4. アウトライナ(Outliner) を押しながら cMuscleDirection1 を iControlMusHipBack1 にドラッグして、方向オブジェクトを一番目の後ろのヒップ マッスルのコントロールにペアレント化します。
  5. 方向オブジェクトの長さ(Length)アトリビュートを 3.0 に設定します。

    減衰外側(Falloff Outer)アトリビュートは 1.0 に設定したままにします。これは先端の長さを変更するだけです。Direction ノードの実際のエフェクトが生成されるのは、ウェイト付けだけです。内側/外側減衰(Inner/Outer Falloff)の値は、主に視覚的なフィードバックに使用します。

方向ウェイトをペイントする

  1. スキン メッシュを選択し、マッスル > マッスル ウェイトのペイント(Muscle > Paint Muscle Weights)を選択します。
  2. マッスル ペイント(Muscle Paint)ウィンドウで、ウェイト(Weights)プルダウン メニューの方向(Direction)を選択します。

    これにより、接続された任意の Direction ノードに方向ウェイトを設定してペイントできます。

  3. スライド ウェイトをペイントしたのと同じ領域内にあるヒップ周辺の方向ウェイトをペイントします。

    これでスライド方向がマッスルの Direction ノードの中心線から放射状に押し出されるように補正されました。貫通の問題も解決しました。

  4. タイムラインをスクラブして、アニメーションを確認します。
  5. チャネル ボックス(Channel Box)の入力(INPUTS)セクションで、cMuscleSystem1 ノードをクリックします。
  6. スライドの有効化(Enable Sliding)オプションのオン/オフを切り替えて、スライドの有効/無効によるメッシュの表示内容を比較します。
  7. 必要に応じて、引き続きウェイトをペイントして Direction ノードを作成するか、DragonLeg_Sliding_End.mb を開いて完成例を確認します。

レッスンを終えて

このレッスンでは、以下について学習しました。