オブジェクトのシェーディングをオーバーライドするには、次の 2 つの方法があります。
適用されたマテリアル全体をオーバーライドできます。
たとえば、舗装部分に別のマテリアルを割り当てて、濡れていたり、汚れていたり、または破損しているような外観にする場合は、マテリアル オーバーライドを作成してシェーディング グループをオーバーライドできます。「コレクション内のオブジェクトに適用されたマテリアルをオーバーライドする」を参照してください。
アトリビュートの値や接続など、シェーダのアトリビュートをオーバーライドすることができます。
たとえば、現在はオブジェクトに blinn シェーダを割り当てており、この blinn シェーダをオブジェクトに割り当てたまま、blinn のカラー アトリビュートを変更したい場合は、このオプションを選択する必要があります。ワークフローの例については、コレクションのカラー オーバーライドの作成に関するページを参照してください。また、アトリビュートの接続を追加または変更することもできます。たとえば、テクスチャにシェーダのアトリビュートをマップすることができます。「値のオーバーライドを使用してネットワークをアトリビュートに接続する」および「接続オーバーライドでアトリビュートの接続をオーバーライドする」を参照してください。
この機能は Maya のシェーダとサードパーティのシェーダの両方に適用されます。
アウトライナ(Outliner)で表示 > 割り当てられたマテリアル(Display > Assigned Materials)オプションを有効にして、シーン内の各オブジェクトに割り当てられたシェーダを表示します。
オブジェクトにフェース単位のシェーダが割り当てられている場合は、オブジェクトに割り当てられたすべてのシェーダがリスト表示され、マテリアル(Materials)という見出しの下にグループ化されます。「シーン内の各オブジェクトに割り当てられたシェーダを特定する」を参照してください。
名前が似ているオブジェクトがある場合は、次のように各オブジェクトに割り当てられたマテリアルを簡単にオーバーライドできます。
3 つの窓を含むシーンがある場合、エクスプレッションを使用して、同じコレクションに 3 つすべての窓を動的に追加することができます。たとえば、すべての窓の名前に文字 window が含まれる場合、エクスプレッションで *window* と入力すると、コレクションにこれらの窓が含まれます。その後、コレクションでマテリアル オーバーライドを作成すると、元のマテリアルに新しいマテリアルをオーバーライドできます。「コレクション内のオブジェクトに適用されたマテリアルをオーバーライドする」を参照してください。
シーンに新しい建物を追加した場合、その窓の名前にも window という文字が含まれていれば、新しい窓がコレクションに含まれるようにエクスプレッションを再適用し、マテリアルのオーバーライドを適用できます。「シーンの更新時にレンダリング設定を更新する」を参照してください。
100 個のオブジェクトが配置された 1 つのシーンがあります。各オブジェクトには異なるシェーダが適用されていて、各シェーダを 10% 明るくする必要がある場合は、次の手順を実行できます。
オブジェクト コレクションの下にシェーダのサブコレクションおよび対応する白熱光オーバーライドが自動的に作成されます。
オーバーライドを選択し、プロパティ エディタ(Property Editor)の白熱光アトリビュートを調整します。こうすると、コレクションに含まれるすべてのシェーダが明るくなります。
これにより、それぞれのシェーダを個別に調整する手間が省けます。
100 個のオブジェクトが配置された 1 つのシーンがあります。各オブジェクトに同じシェーダが適用されていて、これらのオブジェクトの中の 2 つのシェーディングを変更する必要がある場合は、次の手順を実行できます。
このサブコレクションを右クリックし、マテリアル オーバーライドを作成(Create Material Override)を選択します。
オーバーライドを選択します。プロパティ エディタ(Property Editor)の ボタンをクリックして異なるマテリアルを割り当てるか、ハイパーシェード(Hypershade)の既存のマテリアルをプロパティ エディタ(Property Editor)にドラッグ アンド ドロップします。
ビューポートが更新され、2 番目のコレクションのメンバーである 2 つのオブジェクトにのみ新しいマテリアルが割り当てられていることがわかります。
この場合、すべてのオブジェクトで同じシェーダが共有されるため、例 2 のようにシェーダ上のアトリビュートをオーバーライドすることはできません。シェーダ オーバーライドを作成すると、すべてのオブジェクトに同じオーバーライドが適用されてしまいます。シェーダ オーバーライドでなく、マテリアル オーバーライドを作成する必要があります。シェーダ オーバーライドはコレクションに対して固有ではなく、同じ初期シェーダ割り当てを共有する同じレイヤ内のすべてのオブジェクトに適用されます。
マテリアルおよびシェーダ オーバーライドの詳細については、「コレクション内のオブジェクトに適用されたマテリアルをオーバーライドする」を参照してください。
100 個のオブジェクトが配置された 1 つのシーンがあります。各オブジェクトに異なるシェーダが適用されていて、これらのうち 2 つのオブジェクトのシェーディングを変更する必要がある場合は、次の手順を実行できます。
例 2 のように、シェーダのアトリビュートをオーバーライドすることもできます。たとえば、カラー、白熱光などの任意のアトリビュートをオーバーライドできます。この方法の場合、各オブジェクトが異なるシェーダに最初に割り当てられるため、例 3 と比べてシンプルです。
100 個のキャラクタが配置されたシーンがあります。キャラクタはすべて T シャツを着ており、T シャツには異なるシェーダが割り当てられていますが、これらすべての T シャツに新しいテクスチャをマップする場合は、次の操作を行います。
シェーダのサブコレクションが対応するカラー オーバーライドとともに作成されます。
カラー オーバーライドを選択し、プロパティ エディタ(Property Editor)にある ボタンをクリックして新しいテクスチャに接続します。
詳細については、「値のオーバーライドを使用してネットワークをアトリビュートに接続する」を参照してください。
100 個のキャラクタが配置されたシーンがあります。キャラクタはすべて T シャツを着ており、T シャツには 1 つのテクスチャがマップされていますが、これらすべての T シャツに新しいテクスチャをマップする場合は、次の操作を行います。
ファイル ノードのサブコレクション、および対応するファイル テクスチャ名のオーバーライドが作成されます。