ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.
container(
[string...]
, [addNode=[string,...]], [asset=[string,...]], [assetMember=string], [bindAttr=[string, string]], [connectionList=boolean], [current=boolean], [fileName=[string,...]], [findContainer=[string,...]], [force=boolean], [includeHierarchyAbove=boolean], [includeHierarchyBelow=boolean], [includeNetwork=boolean], [includeNetworkDetails=string], [includeShaders=boolean], [includeShapes=boolean], [includeTransform=boolean], [isContainer=boolean], [name=string], [nodeList=boolean], [nodeNamePrefix=boolean], [parentContainer=boolean], [preview=boolean], [publishAndBind=[string, string]], [publishAsChild=[string, string]], [publishAsParent=[string, string]], [publishAsRoot=[string, boolean]], [publishAttr=string], [publishConnections=boolean], [publishName=string], [removeContainer=boolean], [removeNode=[string,...]], [type=string], [unbindAndUnpublish=string], [unbindAttr=[string, string]], [unbindChild=string], [unbindParent=string], [unpublishChild=string], [unpublishName=string], [unpublishParent=string], [unsortedOrder=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
container は、取り消し可能、照会可能、および 編集可能 です。
このコマンドは、コンテナ ノードの作成と照会に使用できます。また次のような、コンテナに対する操作にも使用します。
- コンテナに対するノードの追加と除去
- コンテナ内のノードからの、アトリビュートのパブリッシュ
- 1 つのコンテナから別のコンテナへの、接続と値の置き換え
- コンテナのメンバー ノードを除去しない、コンテナの除去
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
containerProxy, containerPublish, containerTemplate, containerView, copyAttr, reorderContainer
addNode, asset, assetMember, bindAttr, connectionList, current, fileName, findContainer, force, includeHierarchyAbove, includeHierarchyBelow, includeNetwork, includeNetworkDetails, includeShaders, includeShapes, includeTransform, isContainer, name, nodeList, nodeNamePrefix, parentContainer, preview, publishAndBind, publishAsChild, publishAsParent, publishAsRoot, publishAttr, publishConnections, publishName, removeContainer, removeNode, type, unbindAndUnpublish, unbindAttr, unbindChild, unbindParent, unpublishChild, unpublishName, unpublishParent, unsortedOrder
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
name(n)
|
string
|
|
|
addNode(an)
|
[string,...]
|
|
|
force(f)
|
boolean
|
|
|
このフラグは、-addNode フラグおよび -removeNode フラグとしか使用できません。-addNode を指定すると、ノードは、新しいコンテナに追加される前に、現在のコンテナから接続解除されます。-removeNode を指定すると、ノードは、ネストされたコンテナから除去する場合、親コンテナに残るのではなく、すべてのコンテナから除去されます。
|
|
removeNode(rn)
|
[string,...]
|
|
|
コンテナから除去するノードのリストを指定します。ノードがネストされたコンテナのメンバーである場合、親コンテナに追加されます。すべてのコンテナから完全に除去するには、-force フラグを使用します。
|
|
nodeList(nl)
|
boolean
|
|
|
照会すると、コンテナ内のノードのリストを返します。
|
|
unsortedOrder(uso)
|
boolean
|
|
|
-nodeList/-nl フラグは、ノードのソート済みリストを返します。このフラグを使用して、コンテナに追加された順序でノードを取得できます。また、reorderContainer コマンドによって行われたすべての順序の変更も表示します。
|
|
findContainer(fc)
|
[string,...]
|
|
|
照会すると、nodeList のすべてのノードが同じコンテナに属する場合は、コンテナの名前を返します。それ以外の場合、空の文字列を返します。
照会モードでは、このフラグに値が必要になります。
|
|
removeContainer(rc)
|
boolean
|
|
|
コンテナからすべてのノードを接続解除し、コンテナ ノードを削除します。
|
|
connectionList(cl)
|
boolean
|
|
|
コンテナ ノードに対する外部接続のリストを返します。
|
|
publishConnections(pc)
|
boolean
|
|
|
コンテナ内のノードからコンテナ外のノードへのすべての接続をパブリッシュします。
|
|
publishAttr(pa)
|
string
|
|
|
照会モードでは -publishName(-pn)フラグと同時の場合のみ使用でき、アトリビュートを引数として使用します。戻り値は、アトリビュートのパブリッシュ済みの名前になります(ある場合)。
照会モードでは、このフラグに値が必要になります。
|
|
publishName(pn)
|
string
|
|
|
名前をコンテナのインタフェースに対してパブリッシュし、インタフェースに対してパブリッシュされた実際の名前を返します。照会モードでは、コンテナのパブリッシュ済みの名前を返します。-bindAttr フラグが指定されている場合、バインドされた名前のみを返します。-unbindAttr フラグが指定されている場合、バインドされていない名前のみを返します。-publishAsParent/-publishAsChild フラグが指定されている場合、パブリッシュ済みの親/子の名前のみを返します。-publishAttr が、「node.attr」フォーマットのアトリビュート引数と同時に指定されている場合、そのアトリビュートにパブリッシュ済みの名前があるときにそれを返します。
|
|
unpublishName(un)
|
string
|
|
|
バインドされていない名前のパブリッシュを、コンテナのインタフェースから取り消します。
|
|
bindAttr(ba)
|
[string, string]
|
|
|
内蔵されたアトリビュートを、コンテナのインタフェース上にある、バインドされていないパブリッシュ済みの名前にバインドします。戻り値は、バインドされたパブリッシュ済みの名前です。1 番目の文字列は、ノード名とアトリビュート名をバインドするように「node.attr」フォーマットで指定します。2 番目の文字列は、バインドされていないパブリッシュ済みの名前を指定します。照会モードでは、パブリッシュ済みの名前の文字配列とそれに対応するアトリビュートを返します。また、このフラグは、-publishName、-publishAsParent、-publishAsChild フラグと同時に照会モードで使用することもできます。
|
|
unbindAttr(ua)
|
[string, string]
|
|
|
パブリッシュ済みアトリビュートのバインドを、コンテナのインタフェースのパブリッシュ済みの名前から解除し、バインドされていないパブリッシュ済みの名前をコンテナのインタフェース上に残します。戻り値は、バインドされていないパブリッシュ済みの名前です。1 番目の文字列は、ノード名とアトリビュート名をバインド解除するように「node.attr」フォーマットで指定します。2 番目の文字列は、バインドされたパブリッシュ済みの名前を指定します。照会モードでは、-publishName、-publishAsParent、-publishAsChild フラグと一緒にのみ使用可能です。
|
|
publishAndBind(pb)
|
[string, string]
|
|
|
指定した名前をパブリッシュし、指定した名前にアトリビュートをバインドします。1 番目の文字列は、ノード名とアトリビュート名を「node.attr」フォーマットで指定します。2 番目の文字列は、同時にパブリッシュする名前を指定します。
|
|
unbindAndUnpublish(ubp)
|
string
|
|
|
指定したアトリビュートを(「node.attr」フォーマットで)バインド解除し、接続された名前のパブリッシュを解除します。複合(Compound)をバインド解除すると、その複合の親/子の複合解除がトリガされることがあります。従って、この 1 つのフラグを使用する利点は、自動バインド解除に接続された名前を自動パブリッシュ解除することです。
|
|
publishAsParent(pap)
|
[string, string]
|
|
|
内蔵されたノードをコンテナのインタフェースに対してパブリッシュすることで、このノードが外部ノードの親となれることを示します。2 番目の文字列は、パブリッシュ済みのノード名です。照会モードでは、パブリッシュ済みの名前とそれに対応するノードの文字配列を返します。-publishName フラグを照会モードで使用すると、パブリッシュ済みの名前のみを返します。-bindAttr フラグを照会モードで使用すると、パブリッシュ済みのノード名のみを返します。
|
|
publishAsChild(pac)
|
[string, string]
|
|
|
内蔵されたノードをコンテナのインタフェースに対してパブリッシュすることで、このノードが外部ノードの子となれることを示します。2 番目の文字列は、パブリッシュ済みのノード名です。照会モードでは、パブリッシュ済みの名前とそれに対応するノードの文字列を返します。-publishName フラグを照会モードで使用すると、パブリッシュ済みの名前のみを返します。-bindAttr フラグを照会モードで使用すると、パブリッシュ済みのノード名のみを返します。
|
|
publishAsRoot(pro)
|
[string, boolean]
|
|
|
ノードをルートとしてパブリッシュまたはパブリッシュ解除します。ルート トランスフォーム ノードは二重の意味で重要です。コンテナ中心の選択が有効な場合、ルート トランスフォームの下位階層にあるコンテナ ノードがメイン シーン ビューで選択されると、そのルート トランスフォームが選択されます。また、コンテナ プロキシの書き出し時、移動、回転、スケールなど、すべてのパブリッシュ済みルート変換アトリビュートは、スタンドイン ノード上のアトリビュートと接続されます。照会モードでは、ルートとしてパブリッシュされたノードを返します。
|
|
unpublishParent(upp)
|
string
|
|
|
親としてパブリッシュされたノードのパブリッシュを、コンテナのインタフェースから取り消します。
|
|
unpublishChild(upc)
|
string
|
|
|
子としてパブリッシュされたノードのパブリッシュを、コンテナのインタフェースから取り消します。
|
|
unbindParent(unp)
|
string
|
|
|
親としてパブリッシュされたノードのバインドを解除しますが、コンテナのインタフェースからパブリッシュされた名前は除去しません。
|
|
unbindChild(unc)
|
string
|
|
|
子としてパブリッシュされたノードのバインドを解除しますが、コンテナのインタフェースからパブリッシュされた名前は除去しません。
|
|
nodeNamePrefix(nnp)
|
boolean
|
|
|
パブリッシュ済みアトリビュートの名前を形式「node_attr」にすることを指定します。-publishConnections/-pc フラグとともに使用します。
|
|
includeNetwork(inc)
|
boolean
|
|
|
提供済みノード リストに接続されたノード ネットワークもコンテナに含まれることを指定します。ネットワーク走査は、既定のノードと、他のコンテナのメンバーになっているノードで停止します。
|
|
includeNetworkDetails(ind)
|
string
|
|
|
このフラグを使用して、含めるネットワークの特定部分を指定します。。このフラグで有効な引数は次の通りです。「channels」、「sdk」、「constraints」、「history」、「expressions」、「inputs」、「outputs」。このフラグと includeNetwork フラグの違いは、タイプに関係なく接続されたすべてのノードが含まれることです。DAG コンテナにはその子が含まれるため、コンストレイントが入力として指定されていない場合でも、常に選択したオブジェクトにペアレント化されたコンストレイント ノードが含まれます。
|
|
includeHierarchyAbove(iha)
|
boolean
|
|
|
このフラグを使用して、提供されたノード リストの親階層もコンテナに含むこと、あるいはコンテナから削除することを指定します。階層の算入は、他のコンテナのメンバーになっているノードで停止します。
|
|
includeHierarchyBelow(ihb)
|
boolean
|
|
|
このフラグを使用して、提供されたノード リストの下階層もコンテナに含むこと、あるいはコンテナから削除することを指定します。階層の算入は、他のコンテナのメンバーになっているノードで停止します。
|
|
includeTransform(it)
|
boolean
|
|
|
このフラグを使用して、選択した任意のシェイプの親トランスフォームもコンテナに含むこと、あるいはコンテナから削除することを指定します。このフラグは includeHierarchyAbove が使用されている場合は必要ありません。この場合、親トランスフォームとそのすべての親が自動的に含まれるからです。
|
|
includeShapes(ish)
|
boolean
|
|
|
このフラグを使用して、選択した任意のトランスフォームの直下にある子シェイプもコンテナに含むこと、あるいはコンテナから削除することを指定します。このフラグは includeHierarchyBelow が使用されている場合は必要ありません。この場合、子シェイプとそのすべての子が自動的に含まれるからです。
|
|
includeShaders(isd)
|
boolean
|
|
|
含まれている任意のシェイプに対して、そのシェーダもコンテナに含まれることを指定します。
|
|
fileName(fn)
|
[string,...]
|
|
|
指定したファイル名と関連付けられているアセットの照会に使用されます。
照会モードでは、このフラグに値が必要になります。
|
|
current(c)
|
boolean
|
|
|
作成モードでは、新たに作成されたアセットは常に現在になるように指定します。編集モードでは、選択したアセットを現在に設定します。照会では、現在のアセットを返します。
|
|
parentContainer(par)
|
boolean
|
|
|
指定したコンテナの親コンテナを照会するためのフラグです。
|
|
assetMember(am)
|
string
|
|
|
照会時に bindAttr フラグと同時に使用することで、指定したコンテナ内ノードに関連するパブリッシュ済みアトリビュートのみを照会できます。
照会モードでは、このフラグに値が必要になります。
|
|
asset(a)
|
[string,...]
|
|
|
照会すると、nodeList のすべてのノードが同じコンテナに属する場合は、コンテナの名前を返します。それ以外の場合、空の文字列を返します。このフラグは機能的には findContainer フラグと同等です。
|
|
preview(p)
|
boolean
|
|
|
このフラグは作成モードでのみ有効です。これはコンテナを作成せず、内容をプレビューすることを示します。このフラグを使用すると、コンテナを作成した場合にコンテナに配置されるノードが選択されます。たとえば、-includeNetwork でコンテナに含まれる内容を確認し、選択内容を希望どおりに修正してから、選択したオブジェクトに対してのみ create container を実行できます。
|
|
type(typ)
|
string
|
|
|
既定では、コンテナ ノードが作成されます。または、type
フラグを使用して、異なるタイプのコンテナを作成する必要が
あることを示すこともできます。現在のところ、コンテナ ノードの有効な別のタイプは
「dagContainer」のみです。
|
|
isContainer(isc)
|
boolean
|
|
|
選択または指定されたノードがコンテナ ノードであれば、true を返します。複数のコンテナが照会されれば、1 番目の状態のみが返されます。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# Create a container holding a locator transform only (not its shape)
#
loc = cmds.spaceLocator()
con1 = cmds.container(addNode=[loc[0]])
# Select the nodes that would be in the container, but don't create it
#
cmds.container(preview=True,addNode=[cone[0]],includeNetwork=True,includeHierarchyBelow=True)
# Create a container holding a polygon shape, its transform and its
# history node. Publish its tx attr.
#
cone = cmds.polyCone()
con2 = cmds.container(addNode=[cone[0]],includeNetwork=True,includeHierarchyBelow=True)
# Publish the cone's tx and the locator's tx with the same name
#
cmds.container(con1,edit=True,publishName='main_tx')
cmds.container(con1,edit=True,bindAttr=['%s.tx' % loc[0],'main_tx'])
cmds.container(con2,edit=True,publishName='main_tx')
cmds.container(con2,edit=True,bindAttr=['%s.tx' % cone[0],'main_tx'])
# Publish the name "sam", but don't bind it to anything
#
cmds.container(con1,edit=True,publishName='sam')
# Query the bound publications
#
cmds.container(con1,query=True,bindAttr=1)
# Result: [u'locator1.translateX', u'main_tx'] #
# Query all the published names:
#
cmds.container(con1,query=True,publishName=1)
# Result: [u'main_tx' u'sam'] #
# Query just the bound published names:
#
cmds.container(con1,query=True,publishName=1,bindAttr=1)
# Result: [u'main_tx'] #
# Query just the unbound published names:
#
cmds.container(con1,query=True,publishName=1,unbindAttr=1)
# Result: [u'sam'] #
# Query just the published name for the published attribute locator1.translateX
#
cmds.container(con1,query=True,publishName=1,publishAttr='locator1.translateX')
# Result: [u'main_tx'] #
# keyframe the cone's tx
#
cmds.currentTime(0)
coneTx = '%s.tx' % cone[0]
cmds.setKeyframe(coneTx)
cmds.currentTime(4)
cmds.setAttr(coneTx,10.0)
cmds.setKeyframe(coneTx)
# Query the nodes in the container
#
nodes = cmds.container(con2,query=True,nodeList=True)
# Remove a node from the container
#
cmds.container(con2,edit=True,removeNode=nodes[2])
# Remove the container without deleting the nodes within it
#
cmds.container(con2,edit=True,removeContainer=True)
# query a referenced scenes for its assets
#
cmds.container(q=True,fileName='C:/My Documents/maya/projects/default/scenes/refFile.mb')