移動先: 概要 戻り値 フラグ Python の例

概要

duplicate( [objects...] , [inputConnections=boolean], [instanceLeaf=boolean], [name=string], [parentOnly=boolean], [renameChildren=boolean], [returnRootsOnly=boolean], [smartTransform=boolean], [upstreamNodes=boolean])

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

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

指定したオブジェクトが複製されます。オブジェクトを指定しないと、選択したリストが複製されます。

Smart トランスフォーム機能を使用すると、複製間で事前に行われた変換に基づき、複製処理で新しい複製オブジェクトをトランスフォームできます。

例: オブジェクトを複製して別の位置に移動します。スマート複製フラグを使用して再度複製します。このオブジェクトは、前に移動したのと同じ距離だけ、もう一度移動されます。

注: スマート複製間でリストを変更すると、トランスフォーム情報が削除されます。

上流ノード オプションにより、選択したオブジェクトまでのすべての上流ノードの複製が強制されます。上流ノードとは、選択したノードまでのすべてのノードのことです。ディペンデンシー グラフの走査中に別の dagObject が検出された場合は、そのノードとすべての親トランスフォームも複製されます。

inputConnections オプションでは、入力コネクションの複製が、複製されるノードまで強制されます。これは、相互にコネクトした 2 つのノードを、複製するノードとして指定する場合に特に便利です。このような場合は、ノード間のコネクションも複製されます。

関連項目: instance

戻り値

string[]: 作成したオブジェクトの名前。

フラグ

inputConnections, instanceLeaf, name, parentOnly, renameChildren, returnRootsOnly, smartTransform, upstreamNodes
ロング ネーム(ショート ネーム) 引数型 プロパティ
name(n) string create
複製オブジェクトに付ける名前。
smartTransform(st) boolean create
最後の変換を記憶し、複製オブジェクトに適用します。
upstreamNodes(un) boolean create
選択したノードまでの上流ノード(コネクションも含む)も複製されます。
inputConnections(ic) boolean create
複製されるノードの入力コネクションも複製されます。入力側のノードが(-un オプションとは違って)複製されないので、結果的に展開シナリオになることがあります。
returnRootsOnly(rr) boolean create
新しい階層のルート ノードのみが返されます。 upstreamNodes フラグと併用すると、結局、上流ノードが省略されます。このフラグは、出力の string[] で返されるもののみを制御し、duplicate コマンドの動作は変更しません。
renameChildren(rc) boolean create
階層の子ノードの名前を、固有になるように変更します。
instanceLeaf(ilf) boolean create
リーフ DAG ノードをコピーせずにインスタンス化します。
parentOnly(po) boolean create
指定した DAG ノードだけを複製し、その子は複製しません。

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

Python の例

import maya.cmds as cmds

# Create a hierarchy of two spheres;
cmds.sphere( n='sphere1' )
cmds.move( 3, 0, 0 )
cmds.sphere( n='sphere2' )
cmds.move( -3, 0, 0 )
cmds.group( 'sphere1', 'sphere2', n='group1' )
cmds.circle( n='circle1' )

# Create a duplicate of the group
cmds.duplicate( 'group1' )
# Result: group2 sphere1 sphere2 #

cmds.undo()
cmds.duplicate( 'group1', rr=True )
# Result: group2 #

# Create a row of 4 circles equally spaced using
# the -smartTransform flag.
cmds.duplicate( 'circle1' )
cmds.move( 3, 0, 0 )
cmds.duplicate( st=True )
cmds.duplicate( st=True )

# Duplicate a sphere along with its input connections.
# If animCurves were feeding into original transforms of the
# sphere, they will feed into the duplicated ones also.
# If the sphere has history (in this case it does),
# then the history is connected to the duplicate. Note that
# changing the radius for the makeNurbSphere for the sphere1
# affects the duplicated sphere.
#
cmds.duplicate( 'group1|sphere1', ic=True )
cmds.move( 0, 0, 0 )
cmds.setAttr( 'makeNurbSphere1.radius', 2 )

# Duplicate selected objects along with their upstream nodes
# and connections. This will duplicate the history.
cmds.select( 'group1|sphere2' )
cmds.duplicate( un=True )