Connecting Shader Nodes(シェーダ ノードを接続する)

 
 
 

ダイナミック プロパティ アサインメントは Render Tree の機能の 1 つです。この機能では、1 つのシェーダからの出力を 1 つまたは複数のシェーダ パラメータの入力として使用することにより、シェーダを拡張できます。各ノードは、1 つの出力と 1 つ以上の入力を持つため、ほぼ無数のノードを接続できます。たとえば、2D または 3D テクスチャを使用してマテリアル シェーダの反射を制御したり、別のテクスチャを使用して鏡面反射を制御することができます。

Render Tree の接続にはごく基本的なものもあります。たとえば、カラー出力をオブジェクトのサーフェイス入力に接続することは単にオブジェクトのカラーを変更することと同じであり、ユーザはその結果を容易に予想できます。しかし、あるシェーダの[Reflection]入力にフラクタル シェーダを接続したり、あるマテリアルの[Displacement]入力にクラウド テクスチャを接続する場合はどうでしょう。その組み合わせは無限にあります。

通常、シェーダ ノードを接続するには、一方のシェーダ ノードの右側にある出力ポートをクリックして、もう一方のシェーダ ノードの左側にある入力ポートにドラッグするか、またはその反対に入力ポートを出力ポートにドラッグします。

データは最初のノードからの接続に沿って移動し、2 番目のノードによって処理されます。

1

データはこのノードの出力ポートから出力されます。

2

.. このノードの入力ポートを介して処理されます。

ポートが接続されると、それに関連するパラメータの値は接続によって制御されます。つまり、パラメータ値は、そのシェーダのプロパティ エディタで設定することができません。さらに、パラメータおよびそのコントロール(チェックボックス、スライダなど)は、表示されません。接続を削除すると、コントロールはプロパティ エディタに再び表示されるようになります。

重要:入力ポートに接続した際、そのパラメータの値に設定されている既存のアニメーションはすべて失われます。

データのタイプによって(ポート カラーで示される)、特定の 2 ポートを接続できるかどうかを決まります。2 つのポートを接続できない場合は、ほとんどの場合、タイプに互換性がありません。詳細については、「パラメータのポート: 入力と出力」を参照してください。

ノードの出力から伸びる接続矢印を作成したら、そのカーソルを別のノード内のポートまでドラッグしてみましょう。その接続が可能であるかどうかがわかります。

ノードを接続する

Render Tree にシェーダ ノードがすでにある場合、出力ポートのポート アイコンを別のノードにドラッグすることによって接続できます。また、Preset Manager のノードを、あるノードのポートに直接ドラッグすることによって、新しいノードの追加と接続を同時に行うこともできます(シェーダ コンパウンドの場合はこれができません)。

接続にマウス ポインタを重ねると、接続されているポートがハイライト表示されます。ポートが折りたたまれていたりビューがあまりにも遠くズーム アウトされているせいでポートが表示されない場合は、ポートに関する情報がポップアップで表示されます。

既存のシェーダノードの接続

  1. 接続する複数のシェーダを Render Tree に表示します。

  2. 次のいずれかを実行します。

    • ノードの右側にある出力ポートをクリックして別のノードの入力ポートにドラッグし、マウス ボタンを離します。入力ポートにドラッグした際に入力ポート名がハイライト表示されたら、その接続は有効です。

    • ノードの左側にある入力ポートをクリックして別のノードの出力ポートにドラッグし、マウス ボタンを離します。ポートのメニューが表示されたら、接続先のポートを選択します。

      同じ出力を任意の数の入力ポートに接続できます。

      接続矢印は 2 つのポートの接続を示します。

      注:ワークスペースの端に接続をドラッグすると、自動的にビューがスクロールされます。

Preset Manager からノードを追加して、それを入力に接続する

  1. Preset Manager のシェーダ ノード(シェーダ コンパウンドではなく)を、接続したいノードに直接ドラッグします。新しいノードは少し透明で、既存のノード上では矢印が表示されます。

  2. 新しいノードを、接続したいポート名の上にドラッグして、ポート名をハイライト表示させます。マウスのボタンを放すと、新しいノードがそのポートに接続されます。

集約されているノード、ポートグループ、およびテクスチャレイヤへの接続

ポート グループ、テクスチャ レイヤ、またはノード全体が集約されていると、そのポートは表示されません。集約された状態のノードは、展開せずにポップアップ メニューを使用してポートに接続することができます。

  1. 出力ポートから、集約されているノード、ポート グループ、またはテクスチャ レイヤに接続矢印をドラッグします。マウス ボタンを放すと、ポップアップ メニューが開いて、その接続に有効なすべての入力ポートを表示します。

  2. メニューからポートを選択し、そのポートに接続します。

    すでに接続されているポートには名前の横に丸印が付いています。すでに接続されているポートを選択した場合、古い接続が新しい接続で置き換わります。

    [Shift]キーを押すと、複数のポートを選択する間、メニューを開いたままにしておくことができます。

A

ポート名の隣の黒丸は、そのポートが接続済みであることを示しています。

B

集約されているノード、ポート グループ、またはテクスチャ レイヤに接続する際は、メニューが表示されます。ここから、接続先のポートを選択します。

ノードを挿入する

シェーダ ノードを Preset Manager または[ノード]メニューから取得して接続する方法のほか、コンテキスト メニューを使用して、特定のノードを Render Tree のワークスペースに直接挿入する方法があります。他のノード間にノードを挿入するには、以下の 3 つの方法があります。

  • 既存のノードの特定の入力に接続します。

  • 2 つの既存のノードの間に変換シェーダとして挿入します。

  • テクスチャ レイヤを使用して、シェーダのパラメータにブレンドします。RenderTree でのテクスチャレイヤの操作については、「Render Tree でテクスチャ レイヤを操作する」を参照してください。

Preset Manager からノードを挿入

  1. Preset Manager のシェーダ ノード(シェーダ コンパウンドではなく)を、2 つのノード間の接続線上にドラッグします。新しいノードは少し透明です。

  2. 接続線の一部がハイライト表示されたらマウス ボタンを放します。新しいノードのアウトラインに矢印が表示されます。

新しいノードの入力と出力は。最初の有効なポートに対して接続されます。目的のノードがない場合は、再接続します。

ポップアップメニューを使用してノードを挿入

  1. ノードを展開し、次のいずれかを右クリックします。

    • 挿入したシェーダ ノードを接続する入力ポート

    • 入力ポート名

    • 2 つのノード間の接続線

    いずれかの場所(A、B、C)を右クリックして、ノードを挿入します。

    ヒント:水平または垂直な線で接続を表示していると、特定の接続線を選択することが難しい場合があります。Render Tree のメニューから[表示](Show) [接続をカーブで表示](Show Connections as Curved Lines)を選択すると、接続線の表示を曲線に変更できます。
  2. 表示されるポップアップ メニューから、以下のいずれかを選択します。

オプション(Option)

アクション(What it does)

接続解除

パラメータとアタッチされたシェーダとの接続が切断されます。

ブレンド

別のメニューが開き、ここでテクスチャ シェーダを選択できます。

選択されたシェーダは、ミキシング シェーダを使用してパラメータ値とブレンドされます。

シェーダがすでにパラメータに接続されている場合は、シェーダは切断され、新しいシェーダとミキサシェーダに置き換えられます。

挿入

変換シェーダを選択するための別のメニュー([Invert]、[Color Correction]など)が開きます。

シェーダがすでにパラメータに接続されている場合は、このパラメータと接続済みのシェーダとの間に変換シェーダが挿入されます。

変換の編集

パラメータに連結しているすべての変換シェーダの統合プロパティ エディタが開きます。

たとえば、[Phong]シェーダの[Diffuse]パラメータが[Color Correction]シェーダに接続されており、[Color Correction]シェーダが[Intensity]シェーダに接続され、さらに[Intensity]シェーダが[Image]テクスチャ シェーダに接続されている状態で[変換の編集](Edit Conversions)を選択すると、[Color Correction]シェーダと[Intensity]シェーダの統合プロパティ エディタが開きます。

イメージ

イメージは、[Image]シェーダを使用してポートに接続されます。

クリップ

シーンのすべてのイメージ クリップが一覧表示されたサブメニューが開きます。任意のクリップを一覧から選択することができます。

クリップは、[イメージ]シェーダを使用してパラメータに接続されます。

ソース

シーンのすべてのイメージ ソースが一覧表示されたサブメニューが開きます。任意のソースを一覧から選択することができます。

新しいイメージ クリップがソースから作成され、[Image]シェーダを使用してパラメータに接続されます。

各種シェーダ

そのパラメータに関連付けられているシェーダの一覧が表示されます。これらのシェーダのうち 1 つを選択すると、そのシェーダがパラメータに接続されます。

シェーダが既にパラメータに接続されている場合は、その接続が解除され、新しいシェーダに置き換えられます。

その他...

ブラウザが開きます。これにより、シェーダ ライブラリからシェーダを選択できるようになります。選択したシェーダがパラメータに接続されます。

シェーダがすでにパラメータに接続されている場合は、シェーダは切断され、新しいシェーダとミキサシェーダに置き換えられます。

注: ブラウザで選択されたシェーダは、[その他](More)オプションの下にある最近使用されたシェーダの一覧に表示されます。

ノードの接続を解除する

ノードの接続解除はノードの接続と同様に簡単です。接続を解除するには、以下のいずれかの方法を使用します。

ポートの接続を解除する

次のいずれかを実行します。

  • 接続を解除するポートを右クリックし、ポップアップ メニューから[接続解除](Disconnect)を選択します。

または

  1. マウスポ インタを、入力ポート近くの接続線上に移動します。接続線の右端の部分に白い影が付きます。

  2. クリック アンド ドラッグでカーソルをポートから遠ざけていくと、カーソルがはさみに変わるので、そこでマウスボタンを放します。

最初の接続を解除せずに新しいノードを接続して、接続を置き換えることもできます。

注:入力をこのように切断すると、その入力に接続されている Render Tree のブランチのみが削除されます。別のノードに接続されているブランチのノードは削除されません。

ノードのすべての入力または出力を切断

  1. 切断する入力または出力のあるノードを右クリックします。

  2. ポップアップ メニューから、以下のいずれかを選択します。

    • [すべての入力を接続解除](Disconnect All Inputs): ノードの入力への接続がすべて削除されます。

    • [すべての出力を接続解除](Disconnect All Outputs): そのノードから他のノードへの接続がすべて削除されます。

    • [すべてのコネクト切断](Disconnect All): ノードへの接続とノードからの接続がすべて削除されます。

ノードにテクスチャ プロジェクションを割り当てる

テクスチャ シェーダおよびその他の一定のプロパティでは、プロジェクションを選択する必要があります。既存のプロジェクションを指定するか、Render Tree の左上にあるテクスチャ プロジェクション コントロールを使用して新しいプロジェクションを作成することができます。

A

複数のオブジェクトで同じマテリアルが使用される場合は、[すべて](All)または特定の 1 つのオブジェクトを選択できます。

このボックスは、マテリアルが複数のオブジェクトで共有されている場合にのみ表示されます。Render Tree がロックされていなければ、シーンでオブジェクトを選択すると自動的に更新されます。

B

使用する、既存のプロジェクションを選択します。

テクスチャを適用するときに、オブジェクトに 1 つまたは複数のプロジェクションが既に含まれている場合は、テクスチャには最初のプロジェクションが自動的に使用されます。ただし、このボックスは、特定のプロジェクションを明示的に選択するまで空白となります。

同じマテリアルが使用されている複数のオブジェクトで異なるプロジェクションが使用されている場合は、1 つのプロジェクション名ではなく、[(複数の値)]((multiple values))が表示されます。すべてのオブジェクトに同じ名前のプロジェクションがある場合は、プロジェクションを名前で選択できます。ただし、異なるオブジェクトのプロジェクションに命名規則を使用している場合は、アスタリスク(*)のワイルドカードを使用して文字列を入力できます。

C

クリックすると、選択したプロジェクションのプロパティとサポート(存在する場合)を変更します。

複数のテクスチャ プロジェクションの場合は、複数の選択項目のプロパティ エディタが開きます。このプロパティ エディタで行った変更は、すべてのプロジェクションに適用されます。

D

クリックすると、新しいプロジェクションを作成できます。「テクスチャ プロジェクションを作成する」を参照してください。

テクスチャ プロジェクションに関する情報を表示および編集する以外に、選択したノードによって使用されている他のマップ(ウェイト マップ、頂点カラー マップなど)の情報を取得することもできます。複数種のマップを使用するノードを複数選択すると、テクスチャ プロジェクション コントロールが無効になります。

テクスチャ プロジェクションの詳細については、「テクスチャを適用と編集する」を参照してください。