トランスフォーム、シェイプ、およびヒストリのノードを取得する

オブジェクトを作成すると、トランスフォーム ノード、シェイプ ノード、ヒストリ ノードなどが作成されます。オブジェクトを選択すると、アトリビュート エディタ(Attribute Editor)の上部にあるタブにこれらのノードが表示されます。

たとえば、MEL を使用してオブジェクトを作成する場合:

string $plane[] = `polyPlane`;

スクリプト エディタ(Script Editor)の上部タブには次の結果が表示されます。

// Result: pPlane1 polyPlane1 // 

つまり、$plane[0]pPlane1 (トランスフォーム ノード)を、$plane[1]polyPlane1 (ヒストリ ノード) を指します。

シェイプ ノードはトランスフォーム ノードの子ノードです。この場合、シェイプ ノードは pPlaneShape1 となります。

トランスフォーム ノードからシェイプ ノードを取得するには、listRelatives コマンドを使用します。

{
//Lists the transform nodes of all selected objects in the scene
string $nodes[] = `ls -selection`;

for ($node in $nodes)
{
//From each transform node, obtain its shape node and print its name
string $shapes[] = `listRelatives -shapes $node`;
print $shapes;
}
}

関連トピック