ジャンプ先: 概要. 戻り値. フラグ. 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 )