この例では、2 つのテクスチャ ノードを作成し、それらをブレンドする方法を示します。
次の方法について説明します。
- 浮動ノードを使用してテクスチャをブレンドする
- 頂点をペイントしてテクスチャをブレンドする
- テクスチャを繰り返して別のエフェクトが得られるようにテクスチャを乗算する
例: ShaderFX シェーダを作成して ShaderFX エディタを開く
- パース ビューポートで、平面オブジェクトを作成します。
- マテリアル エディタを開いて、平面に DirectX シェーダ マテリアルを適用します。
スレート マテリアル エディタを使用している場合は、DirectX シェーダ ノードをダブルクリックしてそのパラメータを表示します。
- [DirectX シェーダ]ロールアウトで、ドロップダウン リストから[ShaderFX]を選択し、[ShaderFX を開](Open ShaderFX)をクリックします。
3ds Max によって ShaderFX エディタが開きます。
例(続き): 2 つのテクスチャ ノードを作成し、浮動ノードを使用してそれらをブレンドする
- ShaderFX 作業領域を右クリックします。右クリック メニューから、[Hw シェーダ ノード](Hw Shader Nodes) [テクスチャ](Textures) [テクスチャ マップ](Texture Map)を選択します。
ShaderFX によってグラフに TextureMap ノードが追加されます。
- TextureMap ノードをクリックして、その設定を作業領域の右側にある[プロパティ](Properties)パネルに表示します。
- [プロパティ](Properties)パネルで、[MyTexture/パス](MyTexture / Path)の横にある参照ボタンをクリックします。
表示されるファイル ダイアログ ボックスで、テクスチャ ファイルを選択します。この例では、コンクリート テクスチャを使用します。
- 2 番目のテクスチャについて手順 1 と 2 を繰り返します。この例では、芝生テクスチャを使用します。
テクスチャ提供: www.cgtextures.com
- 作業領域を右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [演算](Math) [線形補間ミックス](Linear Interpolate Mix)を選択し、2 つのテクスチャを結合する LerpOp ノードを作成します。
- 右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [値](Values) [浮動](Float)を選択し、浮動小数値を含む Val ノードを作成します。
- 最初のテクスチャ マップの[カラー](Color)アトリビュートを LerpOp の最初の[値](Value)アトリビュートに接続します。
- 2 番目のテクスチャ マップの[カラー](Color)アトリビュートを LerpOp の 2 番目の[値](Value)アトリビュートに接続します。
- Val ノードの[浮動](Float)アトリビュートを LerpOp の[Mix](ミックス)アトリビュートに接続します。
[浮動](Float)値は、各テクスチャがブレンド結果に与える影響の度合いをコントロールします。たとえば、0.2 に設定すると、生成されるテクスチャはコンクリート テクスチャが支配的になります。0.8 に設定すると、生成されるテクスチャは芝生テクスチャが支配的になります。0.5 に設定すると、2 つのテクスチャが均等にミックスされます。
- 結果のスウォッチを表示するには、線形補間ノード上にあるレンダリング スウォッチ アイコン を、大きなプレビューが表示されるまでクリックします。
[浮動](Float)を 0.2 に設定
.
[線形補間混合](Linear Interpolate Mix) のプレビュー スウォッチは、コンクリート テクスチャが支配的であることを示しています。
[浮動](Float)を 0.5 に設定
.
コンクリート テクスチャとと芝生テクスチャが均等にミックスされます。
[浮動](Float)を 0.8 に設定
.
芝生テクスチャが支配的になります。
- LerpOp の[結果](Result)アトリビュートを TraditionalGameSurfaceShader ノードの[拡散反射光カラー](Diffuse Color)アトリビュートに接続します。
これで、リアリスティックまたはシェーディング ビューポートでシェーダを視覚化することができます。
例(続き): 頂点カラー ノードを使用してテクスチャをブレンドする
- 右クリックして、[Hw シェーダ ノード](Hw Shader Nodes) [入力一般](Inputs Common) [頂点カラー](Vertex Color)を選択します。
浮動ノードを使用する代わりに、頂点カラーを使用してテクスチャをブレンドします。
- 線形補間ノードから浮動ノードを接続しているワイヤをクリックして強調表示し、[Delete]を押します。
- VertexColor の[赤](Red)アトリビュートを LerpOp の[ミックス](Mix)アトリビュートに接続します。このように、[赤](Red)チャネルを使用してテクスチャをブレンドします。
- ビューポートで、平面オブジェクトが選択されていることを確認します。 [修正](Modify)パネルで、[長さセグメント](Length Segs)と[幅セグメント](Width Segs)の値を 20 に増やします。これにより、平面に頂点が追加され、頂点ペイントの定義が増大します。
- [修正](Modify)パネルで、平面に[頂点ペイント](VertexPaint)モディファイヤを適用します。
3ds Max で[頂点ペイント](VertexPaint)ペイントボックスが開きます。
次に、いくつかの頂点を赤にペイントします。赤にペイントされた頂点には、芝生テクスチャが表示されます。
- ペイントボックスで、 ([頂点カラー ディスプレイを無効化](Disable vertex color display))をクリックしてアクティブにします。
- 既定のカラー スウォッチが黒で表示されます(黒でない場合は、スウォッチをクリックし、カラー セレクタを使用して黒に変更します)。 ([すべてペイント](Paint All))をクリックし、平面を黒にします。
頂点に黒チャネルが割り当てられている場合、平面にはコンクリート テクスチャが表示されます。
- カラー スウォッチをクリックし、カラーを明るい赤に変更します。
- ([ペイント](Paint))をクリックし、平面をペイントします。赤にペイントした頂点は、芝生テクスチャの値を受け取ります。これで、頂点をペイントしてテクスチャをブレンドできました。
例(続き): テクスチャを乗算してタイル パターンで繰り返し、別の高密度なエフェクトを作成する
- モディファイヤ スタックで、[頂点ペイント](VertexPaint)モディファイヤをクリックして強調表示し、 ([スタックからモディファイヤを除去](Remove Modifier From The Stack))をクリックします。
- ShaderFX エディタで、VertexColor ノードのワイヤをクリックし、[Delete]を押して切断し、Val ノードの[浮動](Float)値を LerpOp の[ミックス](Mix)アトリビュートに再接続します。
- VertexColor ノードをクリックして強調表示し、[Delete]を押します。
- 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [入力一般](Inputs Common) [UV セット](UV Set)を選択して、UV セット ノードを作成します。
- 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [演算](Math) [乗算](Multiply)を選択して、MulOp ノードを作成します。
- 右クリックし、[Hw シェーダ ノード](Hw Shader Nodes) [値](Values) [浮動](Float)を選択して、別の Val ノードを作成します。
- UV セット ノードの[UV]アトリビュートを MulOp の最初の[値](Value)アトリビュートに接続します。
- 新しい Val ノードの[浮動](Float)アトリビュートを MulOp の 2 番目の[値](Vaue)アトリビュートに接続します。
- MulOp ノードの[結果](Result)アトリビュートを、タイルするパターンを持つ TextureMap の[UV]アトリビュートに接続します。
- 新しい Val ノードをクリックして選択し、[プロパティ](Properties)パネルで[浮動](Float)値を変更します。パターンの繰り返し頻度を上げて密度がさらに高くなるようにするには、[浮動](Float)値を高く設定します。パターンの繰り返し頻度を下げるには、[浮動](Float)値を低く設定します。TextureMap ノードのレンダリング スウォッチ アイコンをクリックすると、生成されるパターンをプレビューできます。
値 = 0.5
値 = 2.0