オブジェクトを作成すると、トランスフォーム ノード、シェイプ ノード、ヒストリ ノードなどが作成されます。オブジェクトを選択すると、アトリビュート エディタ(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; } }