
UnityのMask Mapを作ってみました。
マスクマップでは、テクスチャのR,G,B,A値をそれぞれ、メタリック、アンビエントオクルージョン、ディテールマスク、スムーズネスに使います。

今回は各値を別々に設定して統合した画像をフリーソフトのGIMP2で作ってみます。
まず、GIMP2で、赤(RGBが255,0,0)、緑(0,255,0)、青(0,0,255)で塗りつぶしたレイヤーを作って、それぞれにレイヤーマスクを設定します。描画モードは「加算」にします。→もっと簡単な方法はこちら

すると、各レイヤーのレイヤーマスクに描画した白黒値がレイヤーの赤緑青の色に掛け合わされて、それらが合算された色になるはずです。それ以外の部分は黒(0,0,0)にしました。

Rの文字だけの部分は赤(255,0,0)、RとGだけが重なった部分は黄色(255,255,0)、R,G,Bがすべて重なった部分は白(255,255,255)になっています。
これらを統合したレイヤーにレイヤーマスクを設定してアルファ値を変えます。

すると、R,G,Bの文字が合わさった画像がAの文字の形にくり抜かれたような画像ができました。

これをPNG形式やTIFF形式でエクスポートします。そのときに、透明ピクセルの色の値を保持するようにします。

TIFF形式の場合はレイヤーマスクを適用しないとチェックを入れられないようです。

これをUnityでインポートしてPlaneオブジェクトにアタッチされたマテリアルのMask Mapに設定します。シェーダーはHDRP/Litにしています。
まずはリアルタイムのライトのまま、マテリアルのメタリックを1、Smoothness Remappingを最小にします。

すると、Planeオブジェクトの表面にRの文字が現れます。テクスチャのR値が0でない部分の金属感が変化しています。

Metallicの値とSmoothness Remappingの最大値を両方上げると、RとAの文字が現れます。



テクスチャの不透明な部分だけスムーズになっています。
さらにDetail Mapを設定して、Detail Albedo Scaleを上げます。

すると、R,Aの文字と別にBの形の模様が現れます。

そして、ディレクショナルライトのモードをBakedにして、ライトマップをベイクすると、アンビエントオクルージョンが適用されて、Gの形の部分だけが明るく見えます。マテリアルのAmbient Occlusion Remappingで色を調節します。

これで、一つの画像のRGBAに個別に値を設定してマスクマップを作れました。