ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.

概要

skinCluster( objects , [addInfluence=string], [addToSelection=boolean], [after=boolean], [afterReference=boolean], [baseShape=string], [before=boolean], [bindMethod=int], [deformerTools=boolean], [dropoffRate=float], [exclusive=string], [forceNormalizeWeights=boolean], [frontOfChain=boolean], [geometry=string], [geometryIndices=boolean], [heatmapFalloff=float], [ignoreBindPose=boolean], [ignoreHierarchy=boolean], [ignoreSelected=boolean], [includeHiddenSelections=boolean], [influence=string], [lockWeights=boolean], [maximumInfluences=int], [moveJointsMode=boolean], [name=string], [normalizeWeights=int], [nurbsSamples=int], [obeyMaxInfluences=boolean], [parallel=boolean], [polySmoothness=float], [prune=boolean], [remove=boolean], [removeFromSelection=boolean], [removeInfluence=string], [removeUnusedInfluence=boolean], [selectInfluenceVerts=string], [skinMethod=int], [smoothWeights=float], [smoothWeightsMaxIterations=int], [split=boolean], [toSelectedBones=boolean], [toSkeletonAndTransforms=boolean], [unbind=boolean], [unbindKeepHistory=boolean], [useGeometry=boolean], [volumeBind=float], [volumeType=int], [weight=float], [weightDistribution=int], [weightedInfluence=boolean])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

skinCluster は、取り消し可能、照会可能、および編集可能です。

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

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

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

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

戻り値

string(skinCluster ノード名)

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

関連

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

フラグ

addInfluence, addToSelection, after, afterReference, baseShape, before, bindMethod, deformerTools, dropoffRate, exclusive, forceNormalizeWeights, frontOfChain, geometry, geometryIndices, heatmapFalloff, ignoreBindPose, ignoreHierarchy, ignoreSelected, includeHiddenSelections, influence, lockWeights, maximumInfluences, moveJointsMode, name, normalizeWeights, nurbsSamples, obeyMaxInfluences, parallel, polySmoothness, prune, remove, removeFromSelection, removeInfluence, removeUnusedInfluence, selectInfluenceVerts, skinMethod, smoothWeights, smoothWeightsMaxIterations, split, toSelectedBones, toSkeletonAndTransforms, unbind, unbindKeepHistory, useGeometry, volumeBind, volumeType, weight, weightDistribution, weightedInfluence
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
name(n) string create
作成されるノードの名前を指定するために使用されます。
geometry(g) string queryeditmultiuse
-rm フラグも指定していない限り、指定したオブジェクトは、このデフォーマ オブジェクトによって変形されるオブジェクトのリストに追加されます。照会すると string string string ...を返します。
geometryIndices(gi) boolean query
照会モードで -geometry フラグを補完します。各ジオメトリのマルチ インデックスを返します。
remove(rm) boolean editmultiuse
-g フラグの後ろにリストされているオブジェクトをこのデフォーマから除去するように指定します。
before(bf) boolean createedit
既存のチェーンに対する挿入やアペンドの既定動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要があっても、このフラグを使用して、強制的にこのコマンドによってチェーンの選択したノードの前にデフォーマ ノードをスティックさせることができます。作成モード(デフォーマにジオメトリが追加されていない場合は編集モード)で動作します。
after(af) boolean createedit
既存のチェーンに対する挿入やアペンドの既定動作が目的どおりでない場合、新しいジオメトリ シェイプを作成する必要があっても、このフラグを使用して、コマンドによってチェーンの選択したノードの後にデフォーマ ノードを強制的にスティックさせることができます。作成モード(デフォーマにジオメトリが追加されていない場合は編集モード)で動作します。
afterReference(ar) boolean createedit
-afterReference フラグを使用して、-before と -after のどちらかが自動的に選択されるハイブリッド法でデフォーマの順序を指定します。変形されているジオメトリが参照される場合は、-before モードではなく、-after モードを使用して新しいデフォーマを追加します。-afterReference を使ってデフォーマ チェーンを構築する場合の真の効果は、デフォーマ チェーンの内部シェイプ ノードがリファレンス ファイルの境界でしか表示されないため、デフォーマ ネットワークの負担が軽くなり、リファレンスの入れ替えをより柔軟にできる場合があることです。
split(sp) boolean createedit
デフォーマを既存のチェーンに挿入/アペンドする代わりに、ディペンデンシー グラフで新しいチェーンを分岐させます。作成モード(デフォーマにジオメトリが追加されていない場合は編集モード)で動作します。
frontOfChain(foc) boolean createedit
このコマンドを使用して、新しいデフォーマ ノードが、シェイプのヒストリで既存のデフォーマとスキン ノードの前(上流、ただし既存の微調整ノードの前ではありません)に配置されるように指定します。デフォーマへの入力は、表示される下流のシェイプではなく上流のシェイプです。したがって、このフラグの動作は、新しいデフォーマが追加されたときに下流のデフォーマがリセット位置(hasNoEffect)にある場合に、最も直感的になります。作成モード(デフォーマにジオメトリが追加されていない場合は編集モード)で動作します。
parallel(par) boolean createedit
オブジェクトのヒストリの既存のデフォーマに平行するチェーンの新規デフォーマを挿入します。blendShape を挿入して、平行の結果とブレンドします。作成モード(デフォーマにジオメトリが追加されていない場合は編集モード)で動作します。
ignoreSelected(ignoreSelected) boolean create
現在のセレクション リスト上のオブジェクトを変形しないようにコマンドに指示します。
includeHiddenSelections(ihs) boolean create
セレクション リスト内の任意の表示および非表示オブジェクトにデフォーマを適用します。既定は false です。現在のセレクション リスト
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 createquery
非推奨です。代わりに bindMethod フラグを使用します。ジオメトリのポイントに作用する最も近いジョイントを計算するときに、スケルトン階層内のジョイントの位置を無視します。
bindMethod(bm) int createquery
このフラグはバインド方法を設定します。0 - ジョイントとジオメトリのポイントの間の最短距離。1 - スケルトン階層を考慮したジョイントとジオメトリのポイントの間の最短距離。2 - サーフェス ヒート マップ拡散。
heatmapFalloff(hmf) float create
このフラグはヒートマップ バインド減衰を設定します。0.0 (既定値)に設定された場合、インフルエンスごとのメッシュ サーフェス上の多くの小さいウェイト スプレッドのため、デフォメーションはスムーズになります。ただし、最大減衰に対応する 1.0 に設定された場合、ポイントごとのインフルエンスの数が減り、ポイントは小さいウェイトの全体スプレッドを減らす最近接ジョイントの影響を大きく受けます。このフラグは、ヒート マップ バインドを使用しているときのみ有効です。
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 です。
skinMethod(sm) int createqueryedit
このフラグはスキニング方法を設定します。0 は従来のリニア スキニング(既定)。1 はデュアル クォータニオン(ボリューム保持)、2 は 2 つの間でウェイト付けされたブレンド。
normalizeWeights(nw) int createqueryedit
このフラグは正規化モードを設定します。0 - なし、1 - インタラクティブ、2 - ポスト(既定)インタラクティブ正規化では、インフルエンスのウェイト値の合計が常に 1.0 になります。1 つのウェイトが変更されると、すべてのウェイトが自動的に正規化されます。ユーザが設定したウェイトが正規化によって作用され、ウェイト付けの操作が困難になる場合があります。ポスト正規化では、ユーザ設定のウェイトは変更されず、必要になった場合のみに、ウェイトを(ウェイトの合計で除算して)正規化します。これでスキンのウェイト付けが簡単になります。
weightDistribution(wd) int createqueryedit
このフラグはウェイト配分モードを設定します。0 - 距離(既定)、1 - 隣り合わせ normalizeWeights が有効で、ウェイトが全体で削減または除去された場合、合計は通常、他のゼロ以外のウェイトの影響が大きくなることにより 1.0 まで戻ります。ただし、他のゼロ以外のウェイトがない場合は、アルゴリズムによって薄い大気からウェイトを作成し、それらの間で残差のウェイトを分配する必要があります。このアトリビュートは、この実行方法を制御します。「Distance」: このアルゴリズムでは、コンポーネントからトランスフォームまでのワールド空間距離からウェイトを計算します。「Neighbors」: このアルゴリズムでは、隣接するコンポーネントのウェイトからウェイトを計算します。
forceNormalizeWeights(fnw) boolean edit
正規化モードが「なし」か「ポスト」の場合、スキン クラスタのウェイト値の合計が 1 ではなくなる可能性が高くなります。このフラグにより、すべてのウェイトの合計が 1 に戻ります。
selectInfluenceVerts(siv) string edit
トランスフォームの名前を指定すると、このトランスフォームに影響を受けている頂点やコントロール ポイントが選択されます。これで、トランスフォームが影響を与えている頂点を視覚化できます。
addToSelection(ats) boolean edit
selectInfluenceVerts フラグと一緒に使用すると、インフルエンスに作用される頂点が(ほかの頂点が選択解除されることなく)現在の選択項目に追加されます。
removeFromSelection(rfs) boolean edit
selectInfluenceVerts フラグと一緒に使用すると、インフルエンスに作用される頂点が現在の選択項目から除去されます。
volumeBind(vb) float create
ボリューム バインド ノードを作成し、新しいスキン クラスタ ノードにアタッチします。このノードは、ボリューム ベースのウェイト付けシステムのハル ジオメトリのパラメータを保持します。ウェイト付けシステムはインタラクティブ スキニングに使用されます。渡される値によって、ボリュームを初期化する際のウェイトの最小値が決まります。ボリュームが増加すると、この値より大きな値の頂点は囲まれます。
volumeType(vt) int create
バインドするボリューム(volumeBind を参照)の初期シェイプを定義します。0 - 既定(現在はカプセルに設定) 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)