アトリビュート接続をオーバーライドする

サーフェス シェーダの接続などのアトリビュート接続をオーバーライドするために、接続オーバーライドを作成します。

次のガイドラインと例では、サーフェス シェーダのアトリビュート接続をオーバーライドするための接続オーバーライドの作成方法について説明します。この場合はシェーダが例として使用されていますが、同じガイドラインに従って任意のアトリビュート接続をオーバーライドできます。コレクションにシェーダを追加するのではなく、オーバーライドするノードをコレクションに追加します。

サーフェス シェーダのアトリビュート接続をオーバーライドするために、接続オーバーライドを作成します。

  1. コレクションを作成してオブジェクトに追加します。
  2. 2 つ目のコレクションを作成してシェーダを追加します。

    シェーダのコレクションの作成」を参照してください。

  3. シェーダ コレクションを右クリックし、接続のオーバーライドを作成(Create Connection Override)を選択します。
  4. シェーダのアトリビュート エディタ(Attribute Editor)からプロパティ エディタ(Property Editor)に、オーバーライドするアトリビュート(透明度(Transparency)など)を中マウス ボタンでドラッグ アンド ドロップします。
  5. プロパティ エディタ(Property Editor)のアトリビュートの横にあるマップ ボタン をクリックします。

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

  6. 注: 接続先の新しいレンダー ノードが含まれないシーンに接続オーバーライドを読み込むと、! がオーバーライドの横に表示されます。この問題を解決するには、失われたレンダー ノードを再度作成してオーバーライドに再度接続します。失われたノードを再度作成すると、レイヤの可視性アイコン の周囲に赤い境界が表示されます。このアイコンをクリックしてレイヤを更新し、更新された結果を確認します。
    ヒント: 同一アトリビュート上で複数のオーバーライドを作成し、オーバーライドの有効化/無効化を切り替えると、異なる結果を得ることができます。

接続オーバーライドを作成して、lamp_body および lamp_brassFixture に割り当てられたシェーダの透明度(Transparency)アトリビュートに割り当てられたテクスチャをオーバーライドします。

  1. レイヤを右クリックし、コレクションを作成(Create Collection)を選択してコレクション LampBase_shaders を作成します。
  2. アウトライナ(Outliner)で lamp_body および brass_Fixture ノードを選択し、プロパティ エディタ(Property Editor)追加(Add)をクリックしてコレクションに追加します。
  3. コレクションが lamp_body および brass_Fixture 親ノードをトラバースして子ノードを含めるように、コレクションのプロパティ エディタ(Property Editor)階層を含む(Include Hierarchy)が有効になっていることを確認します。
  4. コレクションのフィルタ(Collection Filters)ドロップダウン リストからシェーダ(Shaders)を選択して、lamp_body および brass_Fixture に割り当てられたシェーダのみがコレクションに含まれていることを確認します。

    コレクション メンバーを確認するには選択(Select)をクリックします。

    注: または、アウトライナ(Outliner)で blinn4 および lambert4 シェーダを選択してプロパティ エディタ(Property Editor)追加(Add)をクリックすることで LampBase_shaders コレクションに追加できます。
  5. LampBase_shaders コレクションを右クリックし、接続のオーバーライドを作成(Create Connection Override)を選択します。

    任意の Maya シェーダの透明度(Transparency)アトリビュートをアトリビュート エディタ(Attribute Editor)からプロパティ エディタ(Property Editor)にドラッグ & ドロップし、フラクタル(Fractal)などの任意のテクスチャにオーバーライドをマップします。結果は次のようになります。

注:

複数のシェーダに接続オーバーライドを同時に適用できます。オーバーライド ノードは、コレクション内のすべてのシェーダで指定されたアトリビュートを検索します。この場合、blinn と lambert の両方のシェーダで透明度(Transparency)アトリビュートが指定されているため、オーバーライドが両方のシェーダの透明度(Transparency)に適用されます。

接続オーバーライドはコレクション内のすべてのシェーダに適用されます。たとえばこの場合では、LampBase_shaders コレクション内の blinn4 と lambert4 です。blinn4 または lambert4 のいずれかのシェーダが果物が入った皿にも割り当てられると、本来の目的が、ランプの基部の透明度(Transparency)のみをオーバーライドすることだとしても、透明度オーバーライドが適用されてしまいます。そのため、オブジェクトのシェーダを誤ってオーバーライドしないようにするには、レイヤの各オブジェクトに適用されたシェーダを確認することをお勧めします。このためには、アウトライナ(Outliner)表示 > 割り当てられたマテリアル(Display > Assigned Materials)を選択します。

関連トピック