移動先: 概要 戻り値 関連項目 フラグ MEL の例

概要

skinPercent [-ignoreBelow float] [-normalize boolean] [-pruneWeights float] [-relative boolean] [-resetToDefault] [-transform string] [-transformValue string float] [-value] [object] [selectionList]

skinPercent は「元に戻す」が可能、「照会」が可能、「編集」が不可能です。

このコマンドは、1 番目の引数として指定された skinCluster ノードのメンバのウェイト値を編集、照会します。コマンド ラインでオブジェクトのコンポーネントが明示的に 指定されていない場合、カレントのセレクション リストが使用されます。

このコマンドの 1 回の使用で複数のウェイトを設定する方が、 ウェイトをかけた頂点 1 つについて 1 回呼び出すより、 はるかに効率的です。

戻り値

なし

戻り値の型は照会モードでは照会フラグが基になります。

関連項目

copySkinWeights, skinCluster

フラグ

ignoreBelow, normalize, pruneWeights, relative, resetToDefault, transform, transformValue, value
ロング ネーム(ショート ネーム) 引数型 プロパティ
-value(-v) query
選択したオブジェクト コンポーネントのジョイントの ウェイトに対応する double の配列を返します。
-transform(-t) string query
(引数を指定せずに) -query フラグの後ろで使用する場合、コマンドは、 選択したオブジェクト コンポーネントに作用する トランスフォームの名前に対応する文字配列を返します。(トランスフォームの名前を指定して) -query フラグの前で使用する場合、コマンドは、 指定したトランスフォームに対応する 選択したオブジェクト コンポーネントのウェイトを返します。

このフラグは照会モードでは値を受け入れます。

-transformValue(-tv) string float createmultiuse
トランスフォーム名と値からなるペアを受け取り、 指定したトランスフォームに対応する選択したオブジェクト コンポーネントの ウェイトとしてその値を割り当てます。
-relative(-r) boolean create
-transformValue と一緒に使用して、値の相対設定を指定します。 -relative が true の場合、-tv に渡された値は前の値に追加されます。false の場合は、渡された値が前の値と置き換えられます。
-ignoreBelow(-ib) float query
-value と -transform による照会で、 指定した限度以上のウェイト値を持つエントリだけが 出力されるようにします。このフラグは、-query フラグの前に使用する必要があります。

このフラグは照会モードでは値が必要になります。

-normalize(-nrm) boolean create
設定されている場合、-transformValue フラグによって値が割り当てられていないウェイトを正規化して、 選択したオブジェクト コンポーネントのすべてのウェイトの合計が 1 になるようにします。デフォルトはオンです。注: skinCluster には、false に設定されている場合に このアトリビュートをオーバーライドする normalizeWeights アトリビュートがあります。したがって、 skinCluster.normalizeWeights アトリビュートが false に設定されている場合、 skinPercent コマンドを使用してウェイトを正規化するためには normalizeWeights アトリビュートを true に設定する必要があります。
-resetToDefault(-rtd) create
選択したコンポーネントのウェイトをデフォルト値に設定し、 カスタム ウェイトを上書きします。
-pruneWeights(-prw) float create
選択したすべてのコンポーネントのうち、指定した値より 小さいウェイトを持つコンポーネントのウェイトを 0 に設定します。このコマンドを使用してすべてのウェイトを 0 に設定するには、 -normalize フラグを「オフ」にする必要があります。そうでないと、 すべてのウェイトを 0 にした後で、ウェイトの合計が 1 になるように skinCluster ノードによってウェイトが正規化されます。ウェイトを保持(Hold Weights)アトリビュートに true が設定されているウェイトは 0 になりません。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : 1 つのコマンドで複数回使用可能なフラグ

MEL の例

  // Create a joint chain and a polygonal plane and bind the plane as skin
  //
  select -d;
  joint -p -3 0 -12;
  joint -p -3 0 -5;
  joint -p 1 0 5.5;
  joint -p 6 0 10;
  polyPlane -w 20.0 -h 20.0 -sx 25 -sy 25;
  skinCluster joint1 pPlane1;

  // For cv[100], set the weight wrt joint1 to 0.2, the weight
  // wrt joint3 to 0.8 and adjust the remaining weights to keep
  // the overall weight normalized (i.e. set all other joints to zero,
    // since the weights we are setting sum to 1.0)
  //
  skinPercent -transformValue joint1 0.2 -transformValue
      joint3 0.8 skinCluster1 pPlane1.cv[100];

  // Get the weight values of all the influences for this point
  //
  skinPercent -query -value skinCluster1 pPlane1.cv[100];

  // Get the weight values that are above 0.5
  //
  skinPercent -ignoreBelow 0.5 -query -value skinCluster1 pPlane1.cv[100];

  // Get the weight values that are above 0.5
  //
  skinPercent -ignoreBelow 0.5 -query -value skinCluster1 pPlane1.cv[100];

  // Get the weight of cv[100] corresponding to joint3
  //
  skinPercent -transform joint3 -query skinCluster1 pPlane1.cv[100];

  // Normalize the existing weights for cv[100]
  //
  skinPercent -normalize on skinCluster1 pPlane1.cv[100];

  // Reset the weights for cv[100] to their default values
  //
  skinPercent -resetToDefault skinCluster1 pPlane1.cv[100];

  // Zero all the weights that are below 0.1
  //
  skinPercent -pruneWeights 0.1 pPlane1 skinCluster1;

  // Zero all the weights
  //
  skinPercent -pruneWeights 100 -normalize off pPlane1 skinCluster1;

  // Assign weights to a large number of vertices, several at a time to
  // reduce the number of calls to the skinPercent command.
  //
for ( $i = 0; $i <= 675; $i +=10 ) {
    skinPercent -transformValue joint1 0.5
        -transformValue joint2 0.5 skinCluster1 pPlane1.vtx[$i] pPlane1.vtx[$i+1] pPlane1.vtx[$i+2]
        pPlane1.vtx[$i+3] pPlane1.vtx[$i+4] pPlane1.vtx[$i+5]
        pPlane1.vtx[$i+6] pPlane1.vtx[$i+7] pPlane1.vtx[$i+8]
        pPlane1.vtx[$i+9];
}