ShaderFX 導入のサンプル ワークフロー

この例では、2 つのテクスチャ ノードを作成し、それらをブレンドする方法を示します。

次の方法について説明します。

例: ShaderFX シェーダを作成して ShaderFX エディタを開く

  1. パース ビューポートで、平面オブジェクトを作成します。
  2. マテリアル エディタを開いて、平面に DirectX シェーダ マテリアルを適用します。

    スレート マテリアル エディタを使用している場合は、DirectX シェーダ ノードをダブルクリックしてそのパラメータを表示します。

  3. [DirectX シェーダ]ロールアウトで、ドロップダウン リストから[ShaderFX]を選択し、[ShaderFX を開](Open ShaderFX)をクリックします。

    3ds Max によって ShaderFX エディタが開きます。

例(続き): 2 つのテクスチャ ノードを作成し、浮動ノードを使用してそれらをブレンドする

  1. ShaderFX 作業領域を右クリックします。右クリック メニューから、[Hw シェーダ ノード](Hw Shader Nodes) [テクスチャ](Textures) [テクスチャ マップ](Texture Map)を選択します。

    ShaderFX によってグラフに TextureMap ノードが追加されます。

  2. TextureMap ノードをクリックして、その設定を作業領域の右側にある[プロパティ](Properties)パネルに表示します。
  3. [プロパティ](Properties)パネルで、[MyTexture/パス](MyTexture / Path)の横にある参照ボタンをクリックします。

    表示されるファイル ダイアログ ボックスで、テクスチャ ファイルを選択します。この例では、コンクリート テクスチャを使用します。

  4. 2 番目のテクスチャについて手順 1 と 2 を繰り返します。この例では、芝生テクスチャを使用します。

    テクスチャ提供: www.cgtextures.com

  5. 作業領域を右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [演算](Math) [線形補間ミックス](Linear Interpolate Mix)を選択し、2 つのテクスチャを結合する LerpOp ノードを作成します。
  6. 右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [値](Values) [浮動](Float)を選択し、浮動小数値を含む Val ノードを作成します。
  7. 最初のテクスチャ マップの[カラー](Color)アトリビュートを LerpOp の最初の[値](Value)アトリビュートに接続します。
  8. 2 番目のテクスチャ マップの[カラー](Color)アトリビュートを LerpOp の 2 番目の[値](Value)アトリビュートに接続します。
  9. Val ノードの[浮動](Float)アトリビュートを LerpOp の[Mix](ミックス)アトリビュートに接続します。

    [浮動](Float)値は、各テクスチャがブレンド結果に与える影響の度合いをコントロールします。たとえば、0.2 に設定すると、生成されるテクスチャはコンクリート テクスチャが支配的になります。0.8 に設定すると、生成されるテクスチャは芝生テクスチャが支配的になります。0.5 に設定すると、2 つのテクスチャが均等にミックスされます。

  10. 結果のスウォッチを表示するには、線形補間ノード上にあるレンダリング スウォッチ アイコン を、大きなプレビューが表示されるまでクリックします。

    [浮動](Float)を 0.2 に設定

    .

    [線形補間混合](Linear Interpolate Mix) のプレビュー スウォッチは、コンクリート テクスチャが支配的であることを示しています。

    [浮動](Float)を 0.5 に設定

    .

    コンクリート テクスチャとと芝生テクスチャが均等にミックスされます。

    [浮動](Float)を 0.8 に設定

    .

    芝生テクスチャが支配的になります。

  11. LerpOp の[結果](Result)アトリビュートを TraditionalGameSurfaceShader ノードの[拡散反射光カラー](Diffuse Color)アトリビュートに接続します。

    これで、リアリスティックまたはシェーディング ビューポートでシェーダを視覚化することができます。

例(続き): 頂点カラー ノードを使用してテクスチャをブレンドする

  1. 右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [入力一般](Inputs Common) [頂点カラー](Vertex Color)を選択します。

    浮動ノードを使用する代わりに、頂点カラーを使用してテクスチャをブレンドします。

  2. 線形補間ノードから浮動ノードを接続しているワイヤをクリックして強調表示し、[Delete]を押します。
  3. VertexColor の[赤](Red)アトリビュートを LerpOp の[ミックス](Mix)アトリビュートに接続します。このように、[赤](Red)チャネルを使用してテクスチャをブレンドします。
  4. ビューポートで、平面オブジェクトが選択されていることを確認します。 [修正](Modify)パネルで、[長さセグメント](Length Segs)と[幅セグメント](Width Segs)の値を 20 に増やします。これにより、平面に頂点が追加され、頂点ペイントの定義が増大します。
  5. [修正](Modify)パネルで、平面に[頂点ペイント](VertexPaint)モディファイヤを適用します。

    3ds Max で[頂点ペイント](VertexPaint)ペイントボックスが開きます。

    次に、いくつかの頂点を赤にペイントします。赤にペイントされた頂点には、芝生テクスチャが表示されます。

  6. ペイントボックスで、 ([頂点カラー ディスプレイを無効化](Disable vertex color display))をクリックしてアクティブにします。
  7. 既定のカラー スウォッチが黒で表示されます(黒でない場合は、スウォッチをクリックし、カラー セレクタを使用して黒に変更します)。 ([すべてペイント](Paint All))をクリックし、平面を黒にします。

    頂点に黒チャネルが割り当てられている場合、平面にはコンクリート テクスチャが表示されます。

  8. カラー スウォッチをクリックし、カラーを明るい赤に変更します。
  9. ([ペイント](Paint))をクリックし、平面をペイントします。赤にペイントした頂点は、芝生テクスチャの値を受け取ります。これで、頂点をペイントしてテクスチャをブレンドできました。

例(続き): テクスチャを乗算してタイル パターンで繰り返し、別の高密度なエフェクトを作成する

  1. モディファイヤ スタックで、[頂点ペイント](VertexPaint)モディファイヤをクリックして強調表示し、 ([スタックからモディファイヤを除去](Remove Modifier From The Stack))をクリックします。
  2. ShaderFX エディタで、VertexColor ノードのワイヤをクリックし、[Delete]を押して切断し、Val ノードの[浮動](Float)値を LerpOp の[ミックス](Mix)アトリビュートに再接続します。
  3. VertexColor ノードをクリックして強調表示し、[Delete]を押します。
  4. 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [入力一般](Inputs Common) [UV セット](UV Set)を選択して、UV セット ノードを作成します。
  5. 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [演算](Math) [乗算](Multiply)を選択して、MulOp ノードを作成します。
  6. 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [値](Values) [浮動](Float)を選択して、別の Val ノードを作成します。
  7. UV セット ノードの[UV]アトリビュートを MulOp の最初の[値](Value)アトリビュートに接続します。
  8. 新しい Val ノードの[浮動](Float)アトリビュートを MulOp の 2 番目の[値](Vaue)アトリビュートに接続します。
  9. MulOp ノードの[結果](Result)アトリビュートを、タイルするパターンを持つ TextureMap の[UV]アトリビュートに接続します。
  10. 新しい Val ノードをクリックして選択し、[プロパティ](Properties)パネルで[浮動](Float)値を変更します。パターンの繰り返し頻度を上げて密度がさらに高くなるようにするには、[浮動](Float)値を高く設定します。パターンの繰り返し頻度を下げるには、[浮動](Float)値を低く設定します。TextureMap ノードのレンダリング スウォッチ アイコンをクリックすると、生成されるパターンをプレビューできます。

    値 = 0.5

    値 = 2.0