Choose your operating system:
Windows
macOS
Linux
頂点カラー ペイントは強力なツールであり、その使用方法は多岐にわたります。 「Create a Material for 2-Way Texture Blending (2 層テクスチャ ブレンドのマテリアルを作成する)」 ページでは、テクスチャと頂点カラー ペイントのブレンドのためにマテリアルを設定する方法の基礎について説明しています。このページでは、この技法についてより具体的なユース ケースが示されています。 このドキュメントでは頂点カラー ペイント用に、岩テクスチャと苔テクスチャをブレンドした 2 テクスチャ マテリアルを作成する方法を示します。このブレンドしたテクスチャを作成すると、メッシュ ペイント モードを使用して、このテクスチャをレベル内の任意のメッシュにペイントできます。[Mesh Paint Mode (メッシュ ペイント モード)] パネルの設定を調整して、メッシュ全体でテクスチャが可変になるように、範囲を拡大/縮小することができます。
手順
マテリアルを作成する
-
コンテンツ ブラウザで [Add New (新規追加)] > [Material (マテリアル)] をクリックします。
-
新しいマテリアルに名前を付けます。この例では 「M_2TextureMoss」 とします。
-
新規マテリアルをダブルクリックして マテリアル エディタを起動します
TextureSample ノードを作成して設定する
-
まず始めにテクスチャを追加する必要があります。グラフ内を右クリックして検索バーに「
texture
」と入力します。結果のリストから [TextureSample] を選択します。これでグラフに TextureSample ノードが追加されます。 -
この例では 4 つ必要なので、TextureSample ノードをコピーして 3 回貼り付け、合計 4 つの TextureSample ノードを作成します。
-
グラフの上部付近に 2 つ、グラフの下部に 2 つが並ぶようにこれらのノードを配置します。これで互いに区別しやすくなり、より整理された状態になります。
-
まず ディフューズ テクスチャを選択します。上部の TextureSample ノードのいずれかをクリックします。左側の [Details (詳細)] パネルから [Material Expression Texture Base (マテリアル式テクスチャ ベース)] セクションを見つけます。 [Texture (テクスチャ)] プロパティのドロップダウンをクリックし、テクスチャを選択します。検索バーに「
rock_b
」と入力します。結果から [T_Rock_Basalt_D] を選択します。 -
上部にある 2 番目の TextureSample ノードをクリックします。[Details (詳細)] パネルの [Texture (テクスチャ)] ドロップダウンをクリックし、検索バーに「
grass
」と入力します。この結果から [T_Ground_Grass_D] を選択します。これが 2 つ目のディフューズ マップです。 -
次に 法線 マップを選択する必要があります。下部にある最初の TextureSample ノードをクリックします。[Texture (テクスチャ)] ドロップダウンをクリックして、「
rock_b
」と再度入力します。今回は [T_Rock_Basalt_N] を選択します。これは手順 4 と 5 で選択したディフューズ マップに対応する法線マップです。 -
最後の TextureSample ノードをクリックし、[Details (詳細)] パネルの [Texture] ドロップダウンをクリックして「
grass
」と再度入力します。この結果から [T_Ground_Grass_N] を選択します。
Vertex Color (頂点カラー) ノードと Linear Interpolation (線形補間) ノードを追加する
-
次に Vertex Color ノードを追加します。グラフ内を右クリックして検索バーに「
vertex
」と入力します。この結果から [VertexColor] を選択します。VertexColor ノードが追加された際に、赤色の Input Data ノードであることに注目してください。 -
この VertexColor ノードは、線形補間または「lerp」に基づいて 2 つのディフューズ マップを結合します。グラフ内を右クリックして検索バーに「
linear
」と入力します。結果から LinearInterpolate を選択します。これでグラフに Lerp ノードが追加されます。 -
この例では 2 つ必要なので、最初の Lerp ノードをコピーして 2 番目のノードをグラフに貼り付けます。1 つはディフューズ マップ用で、もう 1 つは法線マップ用です。これらの Lerp ノードをグラフ内の適切な位置に配置します。
-
岩 (Rock) のディフューズ マップの RGB 出力からドラッグして、最初の Lerp ノードの A 入力に接続します。
-
苔のディフューズ マップの RGB 出力からドラッグして、最初の Lerp ノードの B 入力に接続します。これでディフューズ マップが両方とも接続されました。
-
岩の法線マップの RGB 出力からドラッグして、2 番目の Lerp ノードの A 入力に接続します。苔の法線マップの RGB 出力からドラッグして、2 番目の Lerp ノードの B 入力に接続します。これで法線マップが両方とも接続されました。
-
それぞれの Lerp ノードの Alpha 入力は、岩と苔のテクスチャの混合を制御する変数です。Alpha 値は VertexColor ノードで制御するので、VertexColor ノードの一番上の出力からドラッグして、ディフューズの Lerp ノードの Alpha 入力に接続します。法線の Lerp ノードについても同様の操作を行います。
-
ここでディフューズの Lerp ノードの出力からドラッグして、マテリアル ノードの Base Color 入力に接続します。法線の Lerp ノードの出力からドラッグして、マテリアル ノードの Normal 入力に接続します。
残りのマテリアル プロパティを設定する
-
次に、Material ノードの残りのプロパティを設定します。Material ノードの Metallic 入力からドラッグして、検索バーに「
constant
」と入力します。 Constant を選択して定数ノードを追加します。この値はデフォルトの 0 のままにします。 -
また、スペキュラの値を 0 にする必要があるため、マテリアル ノードの Specular 入力を、手順 1 で作成した定数ノードに接続します。
-
Roughness 値は 0 より大きくする必要があるため、元の定数ノードをコピーアンドペーストして別のノードを作成します。 Roughness 入力を 2 番目の定数ノードに接続します。この Constant ノードを選択し、[Details (詳細)] パネルで値を 1 に設定します。
最終結果
ここまでで、頂点カラー ペイントと併用してメッシュのテクスチャをペイントできるマテリアルが完成しました。 [Brush (ブラシ)] セクションの [Strength (強度)] 設定を調整して、メッシュに苔のテクスチャをどれだけペイントするかを調節できます。ペイントの対象 (広範囲か細かいディテールかなど) に応じて、 [Radius (半径)] 設定を上げ下げして調整できます。 [Falloff (フォールオフ)] 設定を調整すると、テクスチャにハードエッジを作成したり、徐々にフェードアウトさせたりできます。