ジャンプ先: 概要. 戻り値. キーワード. 関連. フラグ. Python 例.
nodeCast(stringstring, [copyDynamicAttrs=boolean], [disableAPICallbacks=boolean], [disableScriptJobCallbacks=boolean], [disconnectUnmatchedAttrs=boolean], [force=boolean], [swapNames=boolean], [swapValues=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
nodeCast は、取り消し可能、照会不可能、および編集不可能です。
タイプ A のソース ノードと、タイプ B のターゲット ノードの 2 つのノードを指定し、タイプ A がタイプ B かそのサブタイプである場合、このコマンドはターゲット ノードをソース ノードに置換します。つまりターゲット ノードのすべてのノード 接続、DAG 階層、アトリビュート値はターゲット ノードから除去され、ソース ノードに配置されます。どちらかのオブジェクトが参照されている、ロックされている、またはサブタイプを共有していない場合、この操作は失敗します。この操作はアトミックです。指定したパラメータが失敗すると、ソース ノードとターゲット ノードはコマンド実行前の初期状態に戻ります。重要: このコマンドは現在、インスタンス 接続、インスタンス オブジェクト、そしてリファレンス ノードを無視します。
node, swap, cast
createNode, nodeType
copyDynamicAttrs, disableAPICallbacks, disableScriptJobCallbacks, disconnectUnmatchedAttrs, force, swapNames, swapValues
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
copyDynamicAttrs(cda)
|
boolean
|
|
|
ソース ノード上に定義されていないダイナミック アトリビュートがターゲット ノードに含まれている場合に、ソース ノード上に同一のダイナミック アトリビュートを作成し、ターゲット ノードから値と接続をコピーします。
|
|
disableAPICallbacks(dsa)
|
boolean
|
|
|
|
disableScriptJobCallbacks(dsj)
|
boolean
|
|
|
|
disconnectUnmatchedAttrs(dua)
|
boolean
|
|
|
スワップ アウトするノードにターゲット ノードに存在しない接続がある場合、その接続を切断するかどうかを指定します。既定では、ターゲット ノードをソース ノードと再度入れ替えた場合に復元できなくなるため、これらの接続は除去されません。
|
|
force(f)
|
boolean
|
|
|
ノードがベース オブジェクトを共有していない場合でも、ノードのキャスト演算を強制します。コマンドでこのフラグを指定すると、コマンドのスワッピング時に、最適のアトリビュートを一致させます。このフラグと '-swapValues/sv' フラグ一緒に使用することは推奨しません。
|
|
swapNames(sn)
|
boolean
|
|
|
ノードの名前を入れ替えます。既定では、名前は入れ替えられません。
|
|
swapValues(sv)
|
boolean
|
|
|
2 つのノード間に共通するアトリビュートのアトリビュート同士を交換するかどうかを示します。たとえば、トランスフォーム ノードと同じベース タイプのノードの場合、回転、スケール、移動の値がコピーされます。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
tr1 = cmds.createNode( 'transform' )
tr2 = cmds.createNode( 'transform' )
cmds.connectAttr( tr1 + ".t", tr2 + ".t" )
cmds.connectAttr( tr2 + ".r", tr1 + ".r" )
theT = tr1
cmds.select( theT, replace=1 )
cmds.addAttr( ln="unmatched", at="long" )
middle_man = cmds.createNode( 'transform' )
cmds.connectAttr( theT + ".unmatched", middle_man + ".tx" )
swapNode = cmds.createNode( 'transform' )
cmds.nodeCast( theT, swapNode, disconnectUnmatchedAttrs=true )