コレクション内のオブジェクトに適用されたマテリアルをオーバーライドする

コレクション内のオブジェクトに適用されたマテリアルをオーバーライドするには、次の 2 つの方法があります。シェーディング グループをオーバーライドするマテリアル オーバーライド、またはサーフェス シェーダをオーバーライドするシェーダ オーバーライドを作成します。

シェーディング グループをオーバーライドするためのマテリアル オーバーライドを作成する

  1. オブジェクトのシェイプ ノードがコレクションに含まれることを確認します。

    これは、シェイプ ノードを選択してプロパティ エディタ(Property Editor)追加(Add)をクリックするか、エクスプレッションを使用してシェイプ ノードを含めることで行います。

  2. コレクションを右クリックし、マテリアル オーバーライドを作成(Create Material Override)を選択します。
  3. プロパティ エディタ(Property Editor)オーバーライド マテリアル(Override Material)アトリビュートの横にあるマップ ボタン をクリックし、コレクション内のオブジェクトに割り当てる新しいマテリアルを選択します。

    既存のマテリアルでオブジェクトのシェーディング グループをオーバーライドするには、ハイパーシェード ブラウザ(Hypershade Browser)パネルからマテリアルのオーバーライド(Override Material)アトリビュートに中マウス ボタンでドラッグ アンド ドロップします。

    プロパティ エディタ(Property Editor)オーバーライド マテリアル(Override Material)アトリビュートには *SG と表示されます。たとえば、blinn2SG は、オーバーライドがシェーディング グループに接続されていることを表します。

  4. 注:

    シェーディング グループ ノードが置き換えられているため、元のシェーディング マテリアルとディスプレイスメント シェーダとの間の接続は維持されません。この接続を維持する代わりに、シェーダ オーバーライドを作成できます。

    一般的な使用例は、アンビエント オクルージョン シェーダを適用してアンビエント オクルージョン パスを作成する場合です。この例では、マテリアルのオーバーライドを作成して blinn1SG を置き換えると displacementShader への接続を失います。その結果、displacementShader を新しいシェーディング グループに再接続する必要があります。

    代わりに、シェーダ オーバーライドを作成して blinn1 シェーダのみをアンビエント オクルージョン シェーダと置き換えることができます。この方法では、displacementShader への接続は保持されます。Solid Angle によって提供されているこの例では、サード パーティ製レンダラ Arnold の aiAmbientOcclusion シェーダが使用されています。

サーフェス シェーダをオーバーライドするためのシェーダ オーバーライドを作成する

  1. オブジェクトのシェイプ ノードがコレクションに含まれることを確認します。

    これは、シェイプ ノードを選択してプロパティ エディタ(Property Editor)追加(Add)をクリックするか、エクスプレッションを使用してシェイプ ノードを含めることで行います。

  2. コレクションを右クリックし、シェーダのオーバーライドを作成(Create Shader Override)を選択します。
  3. プロパティ エディタ(Property Editor)オーバーライド シェーダ(Override Shader)の横にあるマップ ボタンをクリックし、コレクション内のオブジェクトに割り当てる新しいサーフェス シェーダを選択します。

    既存のシェーダでオブジェクトのサーフェス シェーダをオーバーライドするには、中マウス ボタンでハイパーシェード(Hypershade)からオーバーライド シェーダ(Override Shader)アトリビュートにドラッグ アンド ドロップします。

  4. 注:

    シェーダ オーバーライドはコレクションに固有ではありません。同一レイヤ上にあり、最初は同一マテリアルが割り当てられているオブジェクトが、異なるコレクションに属していても、シェーダ オーバーライドはこのすべてのオブジェクト(およびオブジェクトのインスタンス)に適用されます。

注: オブジェクトに割り当てる新しいサーフェス シェーダが含まれないシーンにシェーダ オーバーライドを読み込むと、! がオーバーライドの横に表示されます。この問題を解決するには、失われたサーフェス シェーダを再度作成してオーバーライドに再度接続します。失われたシェーダを再度作成すると、レイヤの可視性アイコン の周囲に赤い境界が表示されます。このアイコンをクリックしてレイヤを更新し、更新された結果を確認します。マテリアル オーバーライドについても同じです。

関連トピック