シェーダの適用方法

 
 
 

多種多様なタイプのシーン エレメントに、さまざまな方法でシェーダを適用できます。どの方法でシェーダを適用しても、パラメータを修正するときはシェーダのプロパティ エディタを使用します。

以下のいずれかの方法でシェーダを適用できます。

以下のシーン エレメントにシェーダを適用できます。

グローバル シェーダとローカル シェーダ

オブジェクトに適用されたシェーダは、ローカル シェーダと呼ばれます。ほとんどのシェーダがこのセクションで説明する方法を使用してローカルに適用されます。ただし、カメラ オブジェクトの場合は、シェーダ スタックを使用してカメラにレンズ シェーダをアタッチするため例外です。詳細については、「カメラへレンズ シェーダを適用する」(「カメラとモーション ブラー」)を参照してください。

シーンに適用されたシェーダは、グローバル シェーダと呼ばれます。グローバル シェーダはレンダ パス レベルでシーンに適用され、グローバル レンダリング属性をコントロールします。この属性には、レンダリングの完了後にアウトプット シェーダとしてシーンに適用される環境シェーディング、ボリューム エフェクト、レンズ エフェクト、ポストプロセス エフェクトなどが含まれます。詳細については、「シェーダのパスへの適用」(「レンダリング」)を参照してください。

また、シェーダをレンダ パス パーティションに適用して、シーンのオブジェクトにローカルに適用されたシェーダをオーバーライドすることもできます(そのパスについてのみ)。詳細については、「パーティションへのシェーダーの適用」(「レンダリング」)を参照してください。

Render Tree を使用してシェーダを適用する

Render Tree を使用してシェーダを接続すると、シェーダの接続時に細かい調整が可能になります。Render Tree を使用したエフェクトの使用方法と作成方法については、「Render Tree」を参照してください。

[取得]>[マテリアル]を使用してシェーダを適用する

[取得](Get) [マテリアル](Material)メニューからオブジェクトにシェーダを適用することができます。この方法で適用されたシェーダは、マテリアルノードのすべてのポートにある既存のシェーダを完全に置き換えます。基本的に、このコマンドはオブジェクトの「マテリアル」の定義全体を置き換えます。

また、Material Managerを使用してシェーダを適用することもできます。詳細については、「マテリアルの作成と割り当て」を参照してください。

[取得]>[シェーダ]を使用してシェーダを適用する

ほぼすべてのシェーダをマテリアル ノードの任意のパラメータに接続することができます。

  1. [Render]ツールバーから[取得](Get) [シェーダ](Shader)を選択します。表示されるメニューには、オブジェクトの[Material]ノードの全入力(ポート)が一覧表示されます。

    A

    各サブメニューは、マテリアル ノードのポートのいずれかにシェーダを接続します。ポートの詳細については、「[Material]ノード」を参照してください。

    B

    等号(=)が付加されているパラメータはすでにシェーダに接続されています。

  2. [Material]のポートのいずれかにシェーダを接続するには、ポートのサブメニューを開き、以下のいずれかのオプションを選択します。

    オプション

    結果

    編集

    シェーダがポートに接続されている場合に、シェーダのプロパティ エディタを開きます。

    接続されているシェーダが変換シェーダである場合は、接続されている次の非変換シェーダのプロパティ エディタが開きます。詳細については、「シェーダの編集方法」を参照してください。

    接続解除

    ポートと、アタッチされたシェーダとの接続が切断されます。

    挿入

    変換シェーダ([Invert]、[Color Correction]など)を選択してポートに接続するためのサブメニューを開きます。

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

    変換の編集

    ポートに連続して接続されているすべての変換シェーダの統合プロパティ エディタが開きます。

    たとえば、[Phong]シェーダの[diffuse]パラメータが[Color Correction]シェーダに接続され、この[Color Correction]シェーダが[Intensity]シェーダに接続されている上、この[Intensity]シェーダが[Image]テクスチャ シェーダに接続されている場合、[変換の編集](Edit Conversions)を選択すると、[Color Correction]シェーダと[Intensity]シェーダの統合プロパティ エディタが開きます。変換シェーダの詳細については、「シェーダの編集方法」を参照してください。

    各種シェーダ

    ポートに共通して関連付けられているシェーダの一覧が表示されます。これらのいずれかのシェーダを選択すると、そのシェーダがポートに接続されます。

    シェーダがすでにポートに接続されている場合は、シェーダは切断され、新しいシェーダに置き換えられます。

    クリップ

    そのシーンのイメージ クリップすべてを一覧表示するサブメニューを開きます。クリップを選択すると、クリップは[Image]シェーダを介してポートに接続されます。

    ソース

    そのシーンのイメージ ソースすべてを一覧表示するサブメニューを開きます。ソースを選択すると、クリップがそのソースから作成され、[Image]シェーダを介してポートに接続されます。

    その他...

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

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

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

  3. パラメータに接続するシェーダを選択すると、選択されたシェーダのプロパティ エディタが自動的に表示されます。これでパラメータを編集できます。

接続アイコンを使用したシェーダの適用

シェーダをオブジェクトに適用すると、シェーダのプロパティ エディタが開きます。各パラメータの右側にはプラグ型の接続アイコンがあります。接続アイコンをクリックすると、パラメータに直接アタッチできるシェーダのメニューが開きます。シェーダをパラメータに適用すると、単純なカラーや数値を調整する代わりに別のシェーダを使ってパラメータを調整できます。

シェーダをパラメータに接続した後は、接続アイコンを右クリックし、同メニューからシェーダの切断や別のシェーダへの接続を実行できる他、パラメータおよびその接続したシェーダとの間に変換シェーダを挿入できます。また、このメニューでは、テクスチャ レイヤを使用する特定のパラメータとシェーダをブレンドすることも可能です。

シェーダをパラメータに接続するには

  1. シェーダのプロパティ エディタから、別のシェーダに接続するパラメータに対応する接続アイコンをクリックします。

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

    オプション

    結果

    編集

    シェーダがすでにパラメータに接続されている状態でこのオプションを選択すると、そのシェーダのプロパティ エディタが開きます。

    接続されているシェーダが変換シェーダである場合は、接続されている次の非変換シェーダのプロパティ エディタが開きます。詳細については、「シェーダの編集方法」を参照してください。

    接続解除

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

    ブレンド

    テクスチャ シェーダを選択できるサブメニューが開きます。選択されたシェーダは、新しいテクスチャ レイヤを介してパラメータ値とブレンドされます。

    テクスチャ レイヤの使用方法の詳細については、「テクスチャとテクスチャ レイヤをブレンドする」(「テクスチャリング」)を参照してください。

    挿入

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

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

    変換シェーダをパラメータに接続すると、小さい「c」マークが接続アイコンに表示されます。

    変換の編集

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

    たとえば、[Phong]シェーダの[diffuse]パラメータが[Color Correction]シェーダに接続され、この[Color Correction]シェーダが[Intensity]シェーダに接続されている上、この[Intensity]シェーダが[Image]テクスチャ シェーダに接続されている場合、[変換の編集](Edit Conversions)を選択すると、[Color Correction]シェーダと[Intensity]シェーダの統合プロパティ エディタが開きます。変換シェーダの詳細については、「シェーダの編集方法」を参照してください。

    各種シェーダ

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

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

    クリップ

    そのシーンのイメージ クリップすべてを一覧表示するサブメニューを開きます。クリップを選択すると、クリップは[Image]シェーダを介してパラメータに接続されます。

    ソース

    そのシーンのイメージ ソースすべてを一覧表示するサブメニューを開きます。ソースを選択すると、そのソースからクリップが作成されます。作成されたクリップはイメージ シェーダを介してパラメータに接続されます。

    その他...

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

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

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

  3. 接続アイコンが変化し、シェーダがパラメータに接続(またはブレンド)されたことを示します。詳細については、「変換シェーダの操作」を参照してください。

  4. この時点で、以下のいずれかの操作を実行できます。

    • 接続アイコンをクリックして、パラメータに接続したシェーダのプロパティ エディタを開きます。

    または

    • 接続アイコンを右クリックしてメニューをもう一度開き、メニュー オプションを選択します。

接続アイコンの状態

シェーダのパラメータを制御する接続のタイプに応じて、接続アイコンの外観が変わります。

 

パラメータが別のシェーダに直接接続されていると、その[接続]アイコンは赤色で表示されます。このアイコンをクリックすると、接続されているシェーダのプロパティ エディタが開きます。

 

シェーダが 1 つまたは複数の変換シェーダを介してパラメータに接続されている場合(または、パラメータが変換シェーダに直接接続されている場合)、その接続アイコンは赤になり、「c」という小さな文字が付きます。例:

  • この[接続]アイコンをクリックすると、変換シェーダのプロパティ エディタがスキップされ、シーケンスの次の非変換シェーダに移動します。

    [Diffuse]パラメータが[Color Correction]シェーダに接続されている[Phong]シェーダがあるとします。さらに、[Color Correction]シェーダの[Input]パラメータが[Cell]テクスチャシェーダに接続されているとします。この状態で[Phong]シェーダのプロパティ エディタを開き、[Diffuse]パラメータの接続アイコンをクリックすると、カラー コレクション シェーダではなく[Cell]シェーダのプロパティ エディタが開きます。

  • 変換シェーダだけがパラメータに接続している状態で接続アイコンをクリックすると、その変換シェーダのプロパティ エディタが開きます。

変換シェーダの詳細については、「シェーダの編集方法」を参照してください。

 

パラメータが 1 つ以上のテクスチャ レイヤに追加されている場合は、青色の小さい「L」がパラメータの接続アイコンに表示されます。

接続アイコンをクリックすると、パラメータが接続されていない場合と同様に単にメニューが開きます。テクスチャ レイヤのプロパティ エディタがシェーダのプロパティ エディタに追加されているためです。プロパティ エディタで直接テクスチャ レイヤのプロパティを編集できます。「テクスチャとテクスチャ レイヤをブレンドする」(「テクスチャリング」)を参照してください。

 

パラメータは 1 つのシェーダに直接接続できる他、他のシェーダにブレンドすることができます。

 

接続されていないパラメータの接続アイコンは、灰色で「プラグを外した」状態です。

シェーダ接続に関する情報を取得する

特定のパラメータに接続しているシェーダを確認するには、マウス ポインタをパラメータの接続アイコン上に置きます。接続されているシェーダの名前がツールチップに表示されます。

1

マウス ポインタを接続アイコン上に置きます...

2

...パラメータに接続しているシェーダが表示されます。

パラメータが別のシェーダに接続されている場合は、すべての変換シェーダと次の(または直接接続された)非変換シェーダがツールチップに表示されます。

ここに表示されるパラメータは、[Invert]シェーダと[Color Correction]シェーダの 2 つの変換シェーダを介して[Image]シェーダに接続されています。

1

マウス ポインタを接続アイコン上に置きます...

2

...パラメータと次の非変換シェーダとの間の変換シェーダが一覧表示されます。

変換シェーダの操作

シェーダのネットワークをオブジェクトにアタッチすると、一部のシェーダが変換シェーダに指定されていることがわかります。変換シェーダとは、他のシェーダのパラメータに接続される前にシェーダの出力を修正するユーティリティ シェーダです。

通常は変換シェーダは、データ タイプが一致しないパラメータで接続された 2 つのシェーダ間に自動的に挿入されます たとえば、カラー出力をスカラ入力パラメータに接続しようとすると、[Color to Scalar]シェーダが自動的に挿入され、適切なデータ タイプに変換されます。

操作を簡略化する場合は、簡易演算シェーダを変換シェーダに指定すると便利です。シェーダのプロパティ エディタ間で移動する際に、変換シェーダが無視されるためです(既定)。

一般的には、変換シェーダは以下のように分類されます。

  • [タイプ変換シェーダ](Type conversion shaders): シェーダの出力を別のタイプの情報に変換します。たとえば、[Color to Scalar]シェーダはシェーダのカラー出力をスカラ値に変換します。「 Conversion?> [シェーダ リファレンス]」を参照してください。

  • [カラー変換シェーダ](Color conversion shaders): 指定のシェーダから出力されるカラー情報を調整します。たとえば、[Color Correction]シェーダを使用すると、シェーダのカラー出力の色相、彩度、レベル、ガンマ、コントラストを調整できます。「カラー バランス」(「シェーダ リファレンス」)を参照してください。

  • [簡易共有シェーダ](Simple share shaders): 指定のシェーダの出力について、複数のシェーダで共有できます。たとえば、[Scalar Share]シェーダを使用すると、複数の異なるシェーダ間で 1 つのスカラ値を共有できます。「Boolean Passthrough (ブール通過)」(「シェーダ リファレンス」)を参照してください。