概要
すでに存在しているマテリアルの上に、一部だけ別の画像を重ね合わせる方法を紹介します。
たとえば、下記のように地球のマテリアルの上に葉っぱを重ね合わせます。

わかりやすい方法としては、メッシュを複製して分離して別オブジェクトにする方法があります。しかし、この方はメッシュが別管理になり修正が面倒になります。
ここでは、メッシュはそのままで、別の画像を重ね合わせる方法を紹介します。
この方法のポイント
- 元のマテリアルをグループ化して再利用可能にする
- 重ね合わせたい部分について、元のマテリアルのUVマップとは別に、重ね合わせ用のUVマップを作成する
- 重ね合わせたい部分について、RGBミックスで異なるUVマップのカラーをミックスする
手順
具体例を通して説明します。
- UV球を追加します。
- Shadingワークスペースを開き、マテリアルを新規追加し、ベースカラーに地球の画像テクスチャを指定します(下図)。

- プリンシプルBSDFノードより左側の部分(今回は画像テクスチャノードだけ)を選択し、
Ctrl + G
(グループ作成)でグループ作成します。特に編集しないので、Tab
で戻ります。作成したグループに名前をつけます。ここではbase
とします(下図)。

※ 今回は、画像テクスチャノードだけですが、もっと複雑なノード構成でも可能です。
- マテリアルを追加し、同じマテリアルを選びます(下図)。

- コピーを作りたいので、上図の「
2
」のボタン、もしくはその2つ隣の「新規マテリアル」のボタンを押します(下図)。これにより、このマテリアルを修正しても元のマテリアルは変更されなくなります。

- Shadingワークスペースのまま、3Dビューポートで編集モードに入り、重ね合わせしたい部分を選択します。

- 編集モードのまま、マテリアルプロパティで
Material.001
を選択していることを確認し「割り当て」ボタンを押します(下図)。

- オブジェクトモードに戻ります。
- 画像テクスチャノードとRGBミックスノードを追加し、下記のようにノードを組みます。左下の画像テクスチャノードが重ね合わせたい画像です。画像で重ね合わせしたくない部分のアルファは0とします。

- このままでは、思った通りの画像が出ないので、新しくUVマップを作ります。
- UV Editingワークスペースを開き、重ね合わせしたい画像を開きます。
- 右下のオブジェクトデータプロパティのUVマップの「
+
」ボタンを押し、新しいUVマップを作ります。

- 重ね合わせしたい部分がうまく表示されるように、UVを編集します(下図)。

- Shadingワークスペースに戻り、
Shift + A
(追加)→入力→UVマップでUVマップノードを追加し、対象のUVマップに新しく作成したUVマップを指定します。そして画像テクスチャノードと接続します(下図)。

これにより、下記のように一部だけ重ね合わせしたマテリアルになります。

補足
今回は、RGBミックスノードで、カラーをミックスしました。シェーダーミックスノードを使えば、シェーダーを重ね合わせできます。ただし、シェーダーミックスノードは、Eeveeしか使えないのでご注意ください。
以上