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