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

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

次の操作方法について例示します。

ShaderFX Shader を作成する

  1. でシーン内のオブジェクトをクリックし、新しいマテリアルの割り当て(Assign New Material)を選択し、新しいマテリアルの割り当て(Assign New Material)ウィンドウから Shaderfx Shader を選択します。
  2. ShaderfxShader のアトリビュート エディタ(Attribute Editor)で Open ShaderFX をクリックして、ShaderFX エディタ ウィンドウを開きます。

    3 つのノード、Color、TraditionalGameSurfaceShader および Material が自動的に作成されます。Color ノードを接続解除することができます。このノードは次のワークフローには必要ありません。

2 つのテクスチャを作成して浮動小数(Float)ノードを使用してブレンドする

  1. Hw Shader Nodes > Textures > Texture Map を選択して、テクスチャを作成します。
  2. Texture Map の アトリビュート エディタ(Attribute Editor)で、MyTexture/Path の横にある参照ボタンをクリックし、最初のテクスチャ ファイルに接続します。この例では、コンクリートのテクスチャが使用されます。
  3. 2 番目のテクスチャについて手順 1 と 2 を繰り返します。この例では、芝生のテクスチャが使用されます。

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

  4. Hw Shader Nodes > Math > Linear Interpolate Mix を選択して、Linear Interpolate Mix ノードを作成し、2 つのテクスチャを結合します。
  5. Hw Shader Nodes > Values > Float を選択して、Float ノードを作成します。
  6. 1 番目の Texture Map の Color アトリビュートを、Linear Interpolate Mix の 1 番目の Value アトリビュートに接続します。
  7. 2 番目の Texture Map の Color アトリビュートを、Linear Interpolate Mix の 2 番目の Value アトリビュートに接続します。
  8. Float ノードの float アトリビュートを、Linear Interpolate Mix の Mix アトリビュートに接続します。
    Float ノードでは、各テクスチャがブレンド結果に与える影響の大きさをコントロールすることができます。たとえば 0.2 に設定すると、得られるテクスチャは、コンクリートのテクスチャが支配的になります。0.8 に設定すると、得られるテクスチャは、芝生のテクスチャが支配的になります。0.5 に設定すると、2 つが均等に混合します。
  9. 結果のスウォッチを表示するには、Linear Interpolate ノードの上部にあるスウォッチのレンダリング(Render Swatch)アイコン をクリックします。
  10. Linear Interpolate Mix の Result アトリビュートを、TraditionalGameSurfaceShader ノードの Diffuse Color アトリビュートに接続します。ビューポート 2.0で、シェーダを視覚化できるようになりました。

頂点カラー(Vertex Color)ノードを使用して、テクスチャをブレンドする

  1. Hw Shader Nodes > Inputs Common > Vertex Color を選択します。

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

  2. Linear Interpolate から Float ノードを接続解除し、Vertex Color の Red アトリビュートを、Linear Interpolate Mix の Mix アトリビュートに接続します。このように Red チャネルを使用してテクスチャをブレンドします。
  3. ペイントする前に、面を選択します。polyPlane ノードで、幅の分割数(Subdivisions Width)および高さの分割数(Subdivisions Height)をたとえば 20 に増やします。これにより、プレーンに頂点が追加されて、ペイントの定義が増大します。
  4. メッシュ表示 > カラーの適用(Mesh Display> Apply Color) > を選択し、既定の頂点のカラー(Color)を黒に変更します。この変更で、既定の頂点カラーが黒に設定されます。
  5. メッシュ表示 > カラー セット エディタ(Mesh Display > Color Set Editor)を選択してカラー セット エディタ(Color Set Editor)を開き、作成されたカラー セットの名前を確認します。
  6. ShaderFX エディタで Vertex Color ノードを選択して、頂点(Vertex)/カラー セット名(Color Set Name)フィールドにカラー セットの名前を入力します。
  7. 複数のカラー セットがある場合は、ペイント前にカラー セット エディタ(Color Set Editor)で、ペイントするセットを選択していることを確認します。
  8. プレーンを選択した状態で、メッシュ表示 > 頂点カラー ペイント ツール(Mesh Display > Paint Vertex Color Tool) > を選択します。

    これで、頂点の一部が赤でペイントされます。赤にペイントされた頂点で、芝生のテクスチャが表示されます。

  9. 頂点カラー ペイント ツール(Paint Vertex Color Tool)設定で、カラー値(Color value)の値を赤に変更します。
  10. プレーンにペイントします。赤でペイントする頂点は、芝生のテクスチャの値を持ちます。これで、頂点をペイントしてテクスチャをブレンドしました。

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

  1. Hw Shader Nodes > Inputs Common > UV Set を 選択して、UV Set ノードを作成します。
  2. Hw Shader Nodes > Math > Multiply を選択して、Multiply ノードを作成します。
  3. Hw Shader Nodes > Values > Float を選択して、Float ノードを作成します。
  4. UV Set ノードのUVアトリビュートを、Multiply の Value アトリビュートに接続します。
  5. Float ノードの float アトリビュートを、Multiply の Value アトリビュートに接続します。
  6. Multiply ノードの (Result アトリビュートを、パターンを繰り返す Texture Map の UV アトリビュートに接続します。
  7. Float ノードを選択し、そのValueをアトリビュート エディタ(Attribute Editor)で変更します。大きい値に設定すると、パターンが何度も繰り返されて密度が高くなり、低い値に設定すると、パターンの繰り返しが少なくなります。Texture Map ノードのスウォッチのレンダリング(Render Swatch) アイコンをクリックして、得られるパターンをプレビューすることができます。