サブコレクションを作成する

オーバーライドの作成時に、サブコレクションが自動的に作成されることがあります。Maya ではオーバーライドされているノード タイプが自動的に認識され、そのノード タイプに対してサブコレクションが作成されます。または、特定のノード タイプ(シェーダ、シェイプ、セットなど)のサブコレクションを手動で作成することもできます。

Maya で自動的に作成されるサブコレクション

レイヤはコレクションによって入力されます。オブジェクトをコレクションに追加すると、そのトランスフォーム ノードだけが含まれます。これは、レイヤが表示された場合に、ビューポートに表示されるオブジェクトを決定します。

この例では、レンダー レイヤ Minion_squid が コレクション Killamari で入力されています。Mesh_Killamari のボディ、目、目のガラスのトランスフォーム ノードがコレクションに追加されます。したがって、キャラクタのボディ、目、目のガラスはビューポートに表示されます。

アンビエント カラーなどのシェーダ上のアトリビュートにオーバーライドを作成すると、Maya では Mesh_Killamari ノードに割り当てられているすべてのシェーダ、および対応するオーバーライドを含むコレクションが自動的に作成されます。 つまり、Killamari コレクションに Mesh_Killamari のシェーダを手動で追加する必要がありません。また、シェーダのコレクションを手動で作成する必要もありません。

同様に、テンプレートなどのシェイプ ノードにオーバーライドを作成すると、Maya では Mesh_Killamari のすべての対応するシェイプ ノード、および対応するオーバーライドが含まれるコレクションが自動的に作成されます。

各コレクションに含まれているノード タイプは、たとえばシェーダでは アイコン、シェイプでは アイコンによって示されます。

注:

サブコレクションは、トランスフォーム ノードでオーバーライドを作成した場合には作成されません。

コレクションのフィルタ(Collection Filters)すべて(All)に設定されている場合も、サブコレクションは作成されません。サブコレクションが作成されるのは、現在のコレクションにオーバーライドを作成するノード タイプが含まれていない場合のみです。フィルタがすべて(All)に設定されている場合は、この条件に該当しません。

[Shift]キーを押しながらクリックすると、レンダー レイヤまたはコレクションを展開し、すべての子コレクションおよびオーバーライドを表示できます。[Shift]キーを押しながらもう一度クリックすると、完全に折り畳まれます。この項目をもう一度クリックすると、展開されますが、子は展開されません。

オーバーライド作成の詳細については、「レンダー レイヤ内にコレクションのオーバーライドを作成する」を参照してください。

親コレクションのメンバーシップとサブコレクションのメンバーシップの比較

レイヤに属すオブジェクトは親コレクションによって決まります。子コレクション(サブコレクション)には、親コレクションのメンバーのサブセットのみ含める必要があります。

たとえば、次のシナリオは有効です。

ただし、次のシナリオは無効です。

後者の場合、床は表示可能と設定されていても、レイヤに表示されません。

サブコレクションの使用例には、親コレクションに城を追加して、城の扉専用のサブコレクションを作成する場合などがあります。この場合、レイヤに城全体が表示され、扉にのみ適用される回転オーバーライドをサブコレクションに追加することができます。このようにすると、オーバーライドを受け取るノードを詳細にコントロールできます。

上記と同じ理由から、サブコレクションを作成した後にレイヤにメンバーを追加する場合は、子コレクションでなく、親コレクションに新しいメンバーを追加する必要があります。親コレクションによりメンバーシップが決まり、子コレクションには親コレクションのメンバーのサブセットのみ含める必要があるためです。

サブコレクションを作成する

  1. コレクションを右クリックし、コレクションを作成(Create Collection)を選択します。
  2. コレクションのフィルタ(Collection Filters)ドロップダウン リストでコレクションのノード タイプを選択します。
  3. コレクションに対する場合と同じように、たとえば、エクスプレッションを使用したり、ノードを選択して追加(Add)をクリックしたり、またはその両方によって、サブコレクションにノードを追加します。詳細については、「コレクションにメンバーを追加する」を参照してください。

サブコレクションの適用

サブコレクションを使用して、レイヤ内のオブジェクトのメンバーシップ(およびレイヤのレンダー時にレンダーされたオブジェクト)をコントロールするために親コレクションを作成し、その後にノードのサブセットのみにオーバーライドを適用するためにサブコレクションを作成できます。次に、いくつかの例を示します。