移動先: 概要 戻り値 キーワード 関連項目 フラグ 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 createqueryedit
ソースのスキン シェイプを指定します。
destinationSkin(ds) string createqueryedit
目的のスキン シェイプを指定します。
noMirror(nm) boolean createqueryedit
ミラー フラグを使用しない場合、ウェイトはミラーされずにコピーされます。
mirrorInverse(mi) boolean createqueryedit
値は正領域から負領域へミラーされます。このフラグを使用すると、方向が反転します。
smooth(sm) boolean createqueryedit
スムース フラグを使用するとウェイトは、最近接の 1 つの頂点から割り当てられる代わりに、最近接の頂点間で滑らかに補間されます。
mirrorMode(mm) string createqueryedit
mirrorMode フラグは、ミラー フラグを使用した場合のミラーリングのプレーン(XY、YZ、XZ のいずれか)を定義します。デフォルト プレーンは XY です。
surfaceAssociation(sa) string createqueryedit
surfaceAssociation フラグは、ウェイトがサーフェス間で転送される方法、「closestPoint」、「rayCast」、または「closestComponent」を制御します。デフォルトは closestComponent です。
influenceAssociation(ia) string createqueryeditmultiuse
influenceAssociation フラグは、ソース スキンとターゲット スキンへのインフルエンスを一致させる方法を制御します。フラグを複数回含めて、すべてのインフルエンスが一致するまで複数の関連付けスキームを順番に起動できます。サポートされている値は、「closestJoint」、「closestBone」、「label」、「name」、「oneToOne」です。デフォルトは closestJoint です。
uvSpace(uv) [string, string] createqueryedit
uvSpace フラグはウェイトの転送が、指定したソース UV セットと目標 UV セットに基づいて UV 空間で実施されることを示します。

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

Python の例

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 )