コレクション内のオブジェクトに適用されたマテリアルをオーバーライドするには、次の 2 つの方法があります。シェーディング グループをオーバーライドするマテリアル オーバーライド、またはサーフェス シェーダをオーバーライドするシェーダ オーバーライドを作成します。
コレクション メンバーに関連付けられているサーフェス シェーダとシェーディング グループ ノードを特定するには、コレクション プロパティ エディタ(Property Editor)の全て表示(View All)をクリックして、ビューの依存関係(View Dependencies)を有効にします。
シェーディング グループをオーバーライドするためのマテリアル オーバーライドを作成する
既存のマテリアルでオブジェクトのシェーディング グループをオーバーライドするには、ハイパーシェード ブラウザ(Hypershade Browser)パネルからマテリアルのオーバーライド(Override Material)アトリビュートに中マウス ボタンでドラッグ アンド ドロップします。
プロパティ エディタ(Property Editor)のオーバーライド マテリアル(Override Material)アトリビュートには *SG と表示されます。たとえば、blinn2SG は、オーバーライドがシェーディング グループに接続されていることを表します。
シェーディング グループ ノードが置き換えられているため、元のシェーディング マテリアルとディスプレイスメント シェーダとの間の接続は維持されません。この接続を維持する代わりに、シェーダ オーバーライドを作成できます。
一般的な使用例は、アンビエント オクルージョン シェーダを適用してアンビエント オクルージョン パスを作成する場合です。この例では、マテリアルのオーバーライドを作成して blinn1SG を置き換えると displacementShader への接続を失います。その結果、displacementShader を新しいシェーディング グループに再接続する必要があります。
代わりに、シェーダ オーバーライドを作成して blinn1 シェーダのみをアンビエント オクルージョン シェーダと置き換えることができます。この方法では、displacementShader への接続は保持されます。
サーフェス シェーダをオーバーライドするためのシェーダ オーバーライドを作成する
shadingEngines のサブコレクションが、対応するシェーダのオーバーライドとともにオブジェクトのコレクションの下に作成されます。
既存のシェーダでオブジェクトのサーフェス シェーダをオーバーライドするには、中マウス ボタンでハイパーシェード(Hypershade)からオーバーライド シェーダ(Override Shader)アトリビュートにドラッグ アンド ドロップします。
シェーダ オーバーライドはコレクションに固有ではありません。同一レイヤ上にあり、最初は同一マテリアルが割り当てられているオブジェクトが、異なるコレクションに属していても、シェーダ オーバーライドはこのすべてのオブジェクト(およびオブジェクトのインスタンス)に適用されます。