ノードのグループ関連のメソッド

group <node_collection> [name:<string> ] [prefix:<string> ] [select:<boolean> ]

指定したノードのグループを作成し、グループ ノードを返します。オプションで、グループ名またはグループ名のプレフィックスを指定することもできます。グループ名やグループ名のプレフィックスを指定しないでおくと、一意のグループ名を確実に割り当てることができます。select:true を指定すると、作成後にグループが選択されます。

注: この関数は、成功した場合はグループを返し、失敗した場合は[OK]を返します。isvalidnode()を使用して結果をテストできます。
result = group $box*
if (isvalidnode result) do ...

例:

    group $box* name:"boxes"--makes a group of all box*'s named "boxes".
    group selection--groups current selection.
ungroup <group_head_node> -- mapped

グループ ノードの 1 レベルをグループ解除します。

例:

    ungroup $group001--ungroups group $group001
explodeGroup <group_head_node> -- mapped

グループ ノード内のすべてのレベルをグループ解除します。

attachNodesToGroup <node_collection> <targetNode>

ノード コレクションを既存のグループにアタッチします。既にグループのメンバーの場合は他のグループにアタッチできません。

<node_collection> は、targetノード のグループにアタッチするノードの配列です。

<targetNode> は、グループ メンバー、またはグループ ヘッドのノードでなければいけません。<nodeCollection> のメンバーにはなれません。

3ds Max 2010以降で使用可能です。

detachNodesFromGroup <node_collection>

所属したグループから指定されたノードをデタッチします。

<node_collection> は、グループ ヘッドからデタッチされたノードの配列です。<nodeCollection> のメンバーは、グループ メンバーを開きます。

3ds Max 2010以降で使用可能です。

isGroupHead <node>

ノードがグループ ヘッドの場合は true を返し、その他の場合は false を返します。

isOpenGroupHead <node>

<node> がグループのヘッドで、そのグループが開かれている場合は true を返します。

isGroupMember <node>

ノードがグループ内にある場合は true を返し、その他の場合は false を返します。

isOpenGroupMember <node>

<node> がグループのメンバで、そのグループが開かれている場合は true を返します。

setGroupOpen <group_head_node> <boolean>

グループを開くか、閉じるかを設定します。<boolean>true の場合、グループは開いた状態として設定されます。<boolean>false の場合、グループは閉じられます。

警告:

次のメソッドを使用するときには、十分注意してください。 3ds Max ユーザ インタフェースからは設定できない状態にノードを設定できます。

setGroupMember <node> <boolean>

ノードをグループ メンバとするかどうかを設定します。<boolean>true の場合は、ノードはグループ メンバとして設定されます。<boolean>false でノードがグループ メンバの場合は、ノードはグループ メンバではないように設定されており、グループ ヘッドとリンクされていません。

注:

このメソッドを使用してノードをグループ メンバとして設定した場合は、このノードをグループ ヘッドの子として設定する必要があります。この設定を行わないと、ノード名は[名前による選択](Select By Name)ダイアログ ボックスに表示されません。

例:

    setGroupHead $dummy001 true
    append $group003.children $dummy001
setGroupHead <node> <boolean>

ノードをグループ ヘッドとしてフラグ設定するかどうかを設定します。<boolean>true の場合は、ノードはグループのヘッドとしてフラグ設定されます。<boolean>false の場合は、ノードはグループのヘッドではないように設定されます。

注:

このメソッドを使用して、ノードをグループ ヘッドとしてフラグ設定した場合、ノードのメッシュはビューポートには表示されず、プロパティも[修正] (Modify)パネルに表示されません。このメソッドを使用して、グループ ヘッドであるノードをグループ ヘッドでないようにフラグ設定すると、グループに対して[グループ] (Group)メニューの[開く] (Open)または[分解] (Explode)コマンドを実行することはできません。

例:

    -- create a set of spheres, group them, and test group head and member of group
    mySpheres=for i = 1 to 5 collect sphere pos:(random [-100,-100,0] [100,100,0])
    group MySpheres name:"MyGroup"
    isGroupHead $MyGroup-- returns true
    isGroupMember $sphere001-- returns true
    -- check to see if group is open. Open group and test member of group
    isOpenGroupHead $MyGroup-- returns false
    setGroupOpen $MyGroup true
    isOpenGroupMember $sphere001-- returns false
    -- create a new set of spheres, append the group to the set, and then group them all
    NewSpheres=for i= 1 to 3 collect sphere pos:(random [-100,-100,0] [100,100,0])
    append NewSpheres $MyGroup
    group NewSpheres name:"BiggerGroup"
    -- open the group head, test member of group, and then close the groups.
    setGroupOpen $BiggerGroup true
    isOpenGroupMember $MyGroup
    setGroupOpen $MyGroup false
    setGroupOpen $BiggerGroup false