移動先: 概要 戻り値 キーワード 関連項目 フラグ Python の例
copySkinWeights([destinationSkin=string], [influenceAssociation=string], [mirrorInverse=boolean], [mirrorMode=string], [noMirror=boolean], [smooth=boolean], [sourceSkin=string], [surfaceAssociation=string], [uvSpace=[string, string]])
注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
copySkinWeights は「元に戻す」が可能、「照会」が可能、「編集」が可能です。
skinCluster ウェイトを XYZ 軸の 1 軸の反対側にコピーまたはミラーするコマンドです。このコマンドを使用して、サーフェスから別のサーフェスへ、または同じサーフェス内で、ウェイトをミラーすることができます。
なし
戻り値の型は照会モードでは照会フラグが基になります。
skinCluster, duplicate, mirror
skinCluster, skinPercent
destinationSkin, influenceAssociation, mirrorInverse, mirrorMode, noMirror, smooth, sourceSkin, surfaceAssociation, uvSpace
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
sourceSkin(ss)
|
string
|
|
|
destinationSkin(ds)
|
string
|
|
|
noMirror(nm)
|
boolean
|
|
|
ミラー フラグを使用しない場合、ウェイトはミラーされずにコピーされます。
|
|
mirrorInverse(mi)
|
boolean
|
|
|
値は正領域から負領域へミラーされます。このフラグを使用すると、方向が反転します。
|
|
smooth(sm)
|
boolean
|
|
|
スムース フラグを使用するとウェイトは、最近接の 1 つの頂点から割り当てられる代わりに、最近接の頂点間で滑らかに補間されます。
|
|
mirrorMode(mm)
|
string
|
|
|
mirrorMode フラグは、ミラー フラグを使用した場合のミラーリングのプレーン(XY、YZ、XZ のいずれか)を定義します。デフォルト プレーンは XY です。
|
|
surfaceAssociation(sa)
|
string
|
|
|
surfaceAssociation フラグは、ウェイトがサーフェス間で転送される方法、「closestPoint」、「rayCast」、または「closestComponent」を制御します。デフォルトは closestComponent です。
|
|
influenceAssociation(ia)
|
string
|
|
|
influenceAssociation フラグは、ソース スキンとターゲット スキンへのインフルエンスを一致させる方法を制御します。フラグを複数回含めて、すべてのインフルエンスが一致するまで複数の関連付けスキームを順番に起動できます。サポートされている値は、「closestJoint」、「closestBone」、「label」、「name」、「oneToOne」です。デフォルトは closestJoint です。
|
|
uvSpace(uv)
|
[string, string]
|
|
|
uvSpace フラグはウェイトの転送が、指定したソース UV セットと目標 UV セットに基づいて UV 空間で実施されることを示します。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: タプルまたはリストとして渡された複数の引数を持てるフラグ
|
import maya.cmds as cmds
# Create plane and a skeleton. Bind the skin.
#
cmds.file( f=True,new=True )
cmds.polyPlane( ch=1, w=10, h=10, sx=5, sy=5, ax=(0,1,0) )
cmds.select( d=True )
cmds.joint( p=(0, 0, -6) )
cmds.joint( p=(0, 0, -4) )
cmds.joint( 'joint1', e=True, zso=True, oj='xyz')
cmds.joint( p=(2, 0, -4) )
cmds.joint( 'joint2', e=True, zso=True, oj='xyz')
cmds.joint( p=(5, 0, -3) )
cmds.joint( 'joint3', e=True, zso=True, oj='xyz')
cmds.select( 'joint2', r=True )
cmds.joint( p=(-2, 0, -4) )
cmds.joint( 'joint4', e=True, zso=True, oj='xyz')
cmds.joint( p=(-5, 0, -3) )
cmds.joint( 'joint5', e=True, zso=True, oj='xyz')
cmds.select( 'joint2', r=True )
cmds.joint( p=(0, 0, 3) )
cmds.joint( 'joint6', e=True, zso=True, oj='xyz')
cmds.joint( p=(5, 0, 5) )
cmds.joint( 'joint7', e=True, zso=True, oj='xyz')
cmds.select( 'joint7', r=True )
cmds.joint( p=(-5, 0, 5) )
cmds.joint( 'joint8', e=True, zso=True, oj='xyz')
cmds.select( 'pPlane1', 'joint1', r=True )
maya.mel.eval('createSkinCluster "-mi 5 -dr 4"' )
# Modify some weights on the -x side of the character
#
cmds.skinPercent( 'skinCluster1', 'pPlane1.vtx[30]', tv=('joint2',0.200000) )
cmds.skinPercent( 'skinCluster1', 'pPlane1.vtx[31]', tv=('joint2',0.200000) )
cmds.skinPercent( 'skinCluster1', 'pPlane1.vtx[24]', tv=('joint5',0.550000) )
cmds.skinPercent( 'skinCluster1', 'pPlane1.vtx[25]', tv=('joint5',0.550000) )
# Mirror the skin weights to the other side of the character
# Mirror inverse is chosen since we want to go from -x to +x, not +x to -x.
#
cmds.copySkinWeights( ss='skinCluster1', ds='skinCluster1', mirrorMode='YZ', mirrorInverse=True )
# Now create a second plane and bind it as skin
#
cmds.polyPlane( ch=1, w=10, h=10, sx=5, sy=5, ax=(0,1,0) )
cmds.select( 'pPlane2', r='joint1' )
maya.mel.eval('createSkinCluster "-mi 5 -dr 4"' )
# Copy the skin weights from the first plane onto the new plane.
# The -noMirror flag is used since we want to copy directly, not mirror.
#
cmds.copySkinWeights( ss='skinCluster1', ds='skinCluster2', noMirror=True )