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

概要

skinCluster( objects , [addInfluence=string], [after=boolean], [baseShape=string], [before=boolean], [deformerTools=boolean], [dropoffRate=float], [exclusive=string], [frontOfChain=boolean], [geometry=string], [ignoreBindPose=boolean], [ignoreHierarchy=boolean], [ignoreSelected=boolean], [influence=string], [lockWeights=boolean], [maximumInfluences=int], [moveJointsMode=boolean], [name=string], [nurbsSamples=int], [obeyMaxInfluences=boolean], [parallel=boolean], [polySmoothness=float], [prune=boolean], [remove=boolean], [removeInfluence=string], [removeUnusedInfluence=boolean], [smoothWeights=float], [smoothWeightsMaxIterations=int], [split=boolean], [toSelectedBones=boolean], [toSkeletonAndTransforms=boolean], [unbind=boolean], [unbindKeepHistory=boolean], [useGeometry=boolean], [weight=float], [weightedInfluence=boolean])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

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

skinCluster コマンドは、Maya のスムース スキニングで使用します。このコマンドは、skinCluster ノードを使用して、選択したジオメトリを 選択したジョイントまたはスケルトンにバインドします。バインドされたジオメトリの 各ポイントに作用するジョイントの数に制限はありません。 各ジョイントが各ポイントのモーションに影響を及ぼす範囲は、 対応するウェイト係数によって決まります。ウェイト係数は、skinPercent コマンドを使用して変更できます。skinCluster コマンドは、 新しい skinCluster の名前を返します。

skinCluster は、一度に 1 つのジオメトリだけをバインドします。したがって、 複数のジオメトリをバインドするには、複数の skinCluster コマンドを発行する必要があります。

新しい skinCluster を作成するときにこのコマンドを使用すると、 バインドされたスキン ポイントのモーションに影響を及ぼすトランスフォーム (必ずしもジョイントではありません)を追加または削除できます。

また、特定のインフルエンス オブジェクトのパラメータ (dropoffRate、nurbsSamples、polySmoothness など)を調整するために skinCluster コマンドを使用することもできます。注: これらのパラメータを調整すると、 インフルエンス オブジェクトの影響を受けるスキン ポイントの カスタム ウェイトは失われます。

戻り値

string(skinCluster ノード名)

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

関連項目

bindSkin, blendShape, boneLattice, copyFlexor, copySkinWeights, dagPose, flexor, skinPercent, wire, wrinkle

フラグ

addInfluence, after, baseShape, before, deformerTools, dropoffRate, exclusive, frontOfChain, geometry, ignoreBindPose, ignoreHierarchy, ignoreSelected, influence, lockWeights, maximumInfluences, moveJointsMode, name, nurbsSamples, obeyMaxInfluences, parallel, polySmoothness, prune, remove, removeInfluence, removeUnusedInfluence, smoothWeights, smoothWeightsMaxIterations, split, toSelectedBones, toSkeletonAndTransforms, unbind, unbindKeepHistory, useGeometry, weight, weightedInfluence
ロング ネーム(ショート ネーム) 引数型 プロパティ
name(n) string create
作成されるノードの名前を指定するために使用されます。
geometry(g) string queryeditmultiuse
-rm フラグも指定していない限り、指定したオブジェクトは、このデフォーマ オブジェクトによって変形されるオブジェクトのリストに追加されます。照会すると string string string ...を返します。
remove(rm) boolean editmultiuse
-g フラグの後ろにリストされているオブジェクトをこのデフォーマから削除するように指定します。
before(bf) boolean create
既存のチェーンに対する挿入やアペンドのデフォルト動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要がある場合でも、このフラグを使用して、強制的にこのコマンドによってチェーンの選択したノードの前にデフォーマ ノードをスティックさせることができます。
after(af) boolean create
既存のチェーンに対する挿入やアペンドのデフォルト動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要がある場合でも、このフラグを使用して、コマンドによってチェーンの選択したノードの後にデフォーマ ノードを強制的にスティックさせることができます。
split(sp) boolean create
デフォーマを既存のチェーンに挿入/アペンドする代わりに、ディペンデンシー グラフで新しいチェーンを分岐させます。
frontOfChain(foc) boolean create
このコマンドを使用して、新しいデフォーマ ノードが、シェイプのヒストリで既存のデフォーマとスキン ノードの前(上流、ただし既存のツィーク ノードの前ではありません)に配置されるように指定します。デフォーマへの入力は、表示される下流のシェイプではなく上流のシェイプです。したがって、このフラグの動作は、新しいデフォーマが追加されたときに下流のデフォーマがリセット位置(hasNoEffect)にある場合に、最も直感的になります。
parallel(par) boolean create
オブジェクトのヒストリの既存のデフォーマに平行するチェーンの新規デフォーマを挿入します。blendShape を挿入して、平行の結果とブレンドします。
ignoreSelected(ignoreSelected) boolean create
現在のセレクション リスト上のオブジェクトを変形しないようにコマンドに指示します。
deformerTools(dt) boolean query
デフォーマ ツール オブジェクト(ある場合)の名前を string string ... として返します。
prune(pr) boolean edit
現在の設定のデフォーマによって変形されないポイントを デフォーマ セットから削除します。
exclusive(ex) string createquery
デフォメーション セットをデフォーム パーティションに置きます。
addInfluence(ai) string editmultiuse
指定したトランスフォーム ノードまたはジョイント ノードが、 バインドされたジオメトリに影響を及ぼすトランスフォームのリストに追加されます。 インフルエンスの最大数が監視され、 指定したトランスフォームの影響を受ける CV のウェイトだけが 変更されます。 このフラグは多目的に使用できます。
removeInfluence(ri) string editmultiuse
指定したトランスフォーム ノードまたはジョイント ノードを、 バインドされたジオメトリに影響を及ぼすトランスフォームのリストから削除します。 影響を受けるポイントのウェイトが再度正規化されます。 このフラグは多目的に使用できます。
maximumInfluences(mi) int createqueryedit
skinCluster を最初に作成するとき、または新しいインフルエンスを追加するときに、 ポイントに作用する(ポイントに対して 0 以外のウェイトを持つ) トランスフォームの最大数を設定します。注: このフラグを編集モードで使用すると、カスタム ウェイトは失われ、 スキン全体に新しいウェイトが再割り当てされます。
obeyMaxInfluences(omi) boolean createqueryedit
true の場合、skinCluster はユーザがウェイトを変更するたびに 最大インフルエンスを強制し続け、skinCluster の maximumInfluences アトリビュートでのインフルエンスの数によって、 特定のポイントだけにウェイトがかけられます。
dropoffRate(dr) float createqueryedit
トランスフォームから距離が離れるに従って トランスフォームの影響度が減衰する割合を設定します。 有効範囲は 0.1~10.0 です。作成モードでは、バインドされたすべてのジョイントに ドロップオフ率(dropoffRate)を設定します。編集モードでは、inf/influence フラグと一緒に使用して、 特定のインフルエンスのドロップオフ率を設定します。注: このフラグを編集モードで使用すると、 指定したトランスフォーム ノードの影響を受ける スキン ポイントのカスタム ウェイトは失われます。
nurbsSamples(ns) int createedit
バインドされたスキンに影響を及ぼすために、 インフルエンス カーブに沿って、またはインフルエンス NURBS サーフェスの 各方向で使用するサンプル ポイントの数を設定します。 サンプル ポイント数が多いほど、スキンは インフルエンス NURBS カーブ/サーフェスにより近いシェイプになります。
polySmoothness(ps) float createedit
このフラグは、スキンの制御点が特定のポリゴン インフルエンス オブジェクトに どれだけ正確に追従するかを制御します。 polySmoothnmess の値が大きいほど、 ポリゴン インフルエンス オブジェクトを元にした デフォメーションはより洗練されます。
influence(inf) string queryedit
このフラグは、カレントの編集操作で使用する インフルエンス オブジェクトを指定します。照会モードでは、インフルエンス オブジェクト (ジョイント ノードとトランスフォーム ノード)の文字配列を返します。

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

weightedInfluence(wi) boolean query
このフラグは、0 以外のウェイトを持つインフルエンス オブジェクト (ジョイント ノードとトランスフォーム ノード)の文字配列を返します。
toSelectedBones(tsb) boolean create
選択したボーンだけにジオメトリがバインドされます。
toSkeletonAndTransforms(tst) boolean create
階層内のスケルトンおよびトランスフォームにジオメトリがバインドされます。
ignoreHierarchy(ih) boolean createedit
ジオメトリのポイントに作用する最も近いジョイントを計算するときに、 スケルトン階層内のジョイントの位置を無視します。
moveJointsMode(mjm) boolean edit
true に設定されている場合、スキンはスキニングを修正せずに ジョイントを移動できるモードになります。false に設定されている場合、 スキンの移動ジョイント モードが解除されます。
unbind(ub) boolean edit
skinCluster からジオメトリのバインドを解除し、 skinCluster ノードを削除します。
unbindKeepHistory(ubk) boolean edit
skinCluster からジオメトリのバインドを解除しますが、 スキンが再バウンドされるときにウェイトを使用できるように、 skinCluster ノードを保持します。再バウンドするには、skinCluster コマンドを使用します。
useGeometry(ug) boolean edit
skinCluster にインフルエンスを追加するときに、インフルエンスの トランスフォームの下にペアレント化されたジオメトリを使用して、 インフルエンスのウェイトの影響範囲を決定します。
baseShape(bsh) string editmultiuse
このフラグを -addInfluence フラグと一緒に使用すると、 ジオメトリを持つインフルエンス オブジェクトを skinCluster に 追加するときにベース シェイプとして使用するシェイプを 指定することができます。このフラグを使用しない場合、コマンドは インフルエンス オブジェクトのシェイプのコピーを作成し、 それをベース シェイプとして使用します。
ignoreBindPose(ibp) boolean createedit
このフラグは非推奨廃止になり、使用されません。このフラグを使用しても無視されます。
lockWeights(lw) boolean queryedit
指定したインフルエンス オブジェクトのウェイトを、 カレント値、または -weight フラグで指定した値にロックします。
weight(wt) float edit
このフラグは -addInfluence フラグと一緒に使用された場合のみに有効です。 追加されるインフルエンス オブジェクトに対してウェイトを設定します。
removeUnusedInfluence(rui) boolean create
このフラグを true に設定すると、ウェイトがすべてゼロであるトランスフォームまたはジョイント (これらにエフェクトはありません)は、ジオメトリにバインドされません。このオプションを設定すると、アニメーションの再生スピードを上げることができます。
smoothWeights(sw) float edit
このフラグを使用して、スキン ウェイトの値の急激な上昇を検出します。 これは多くの場合、ウェイト付けが不良であることを示しており、スキン ウェイトの凹凸を滑らかにできます。引数は 0 ~ 1 の範囲の誤差許容値です。値 1 は、隣接するウェイト値が 100% 変化している場合のみに、 アルゴリズムによって頂点がスムースされることを意味します。推奨されるデフォルト値は 0.5 (隣接するウェイト値が 50% 変化)です。
smoothWeightsMaxIterations(swi) int edit
このフラグは smoothWeights フラグと一緒に使用された場合のみに有効です。(隣接するすべてのウェイト付けが不良でスムージングが必要な場合) スムージングの必要性が検出されたすべての頂点を 1 回でスムージングできない場合があります。反復を行うと、より多くの頂点をスムージングできます。このフラグは、アルゴリズムがウェイトをスムージングする 最大反復回数を制御します。このフラグのデフォルトは 2 です。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python 例

import maya.cmds as cmds

# Create a joint chain and a polygonal plane.
cmds.select(d=True)
cmds.joint(p=(-3.0, 0.0,-12.0))
cmds.joint(p=(-3.0, 0.0, -5.0))
cmds.joint(p=(1.0, 0.0, 5.5))
cmds.joint(p=(6.0, 0.0, 10.0))
cmds.polyPlane(w=20.0,h=20.0,sx=25,sy=25)

# Bind the joint chain that contains joint1 to pPlane1
# and assign a dropoff of 4.5 to all the joints
#
cmds.skinCluster( 'joint1', 'pPlane1', dr=4.5)

# Undo the previous command and bind only joint1 and joint3 to pPlane1
#
cmds.undo();
cmds.skinCluster('joint1', 'joint3', 'pPlane1',tsb=True)

# Set the maximum number of transforms influencing each
# point to 3
cmds.skinCluster('skinCluster1',e=True,mi=3)

# Add transform joint2 to the list of transforms
# that influence the bound skin
#
cmds.select('pPlane1')
cmds.skinCluster(edit=True,ai='joint2')

# Query the influences for the skinCluster
#
cmds.skinCluster('skinCluster1',query=True,inf=True)

# Add a curve influence object
#
cmds.curve(d=3,p=[(2.0, 0.0, -7.0),(5.0, 0.0, -4.0),(6.0, 0.0, 1.0),(6.0, 0.0, 4.0),(5.0, 0.0, 6.0)],k=[0,0,0,1,2,2,2])

# Get the number of nurbsSamples taken along curve1
#
cmds.skinCluster('skinCluster1',edit=True,ai='curve1')
cmds.skinCluster('skinCluster1',inf='curve1',query=True,ns=True)

# Set the dropoff for joint3 to 5.0
#
cmds.skinCluster('skinCluster1',e=True,inf='joint3',dr=5.0)

# Query for the dropoff for joint3
#
cmds.skinCluster('skinCluster1',inf='joint3',q=True,dr=True)