メインコンテンツまでスキップ

マスクテクスチャとは

このページを読むと シェーダーがマスクをどのように読むのか、なぜ白黒なのか、なぜ sRGB をオフにする必要があるのかが分かります。ツール内では、ヘッダーの ? ボタンで同じ内容を確認できます。

色ではなく数字を保存する画像​

マスクテクスチャは色を保存する画像ではなく『数字』を保存する画像です。シェーダーはこの画像の明度(0~1)をピクセルごとに読み取り、**「この部分にどの程度エフェクトを適用するか」**を決定します。

マスク値意味
黒(0)適用なし — 元のまま
グレー(0.5)半分適用
白(1)完全適用

そのため、マスクに「きれいな色」は必要ありません。必要なのはどこがどの程度明るいかだけです。

テクスチャ 1 枚にマスク 4 枚​

テクスチャ 1 枚のピクセルは R / G / B / A 4 つのチャンネルを持ち、マスクは通常そのうちの1 チャンネルのみを使用します。グレースケール画像は R=G=B であるため、どのチャンネルを読んでも値は同じです。

ここから最適化が生まれます — マスク 4 枚をそれぞれ R、G、B、A に 1 つずつ格納すれば、ファイル 1 枚にマスク 4 個が入ります。その作業を行うのが コンバイナー タブです。 → チャンネルとパッキング

保存時に必ず確認すること​

sRGB (Color Texture) は必ずオフにしてください

マスクは色ではなく数字です。sRGB チェックがオンになっている場合、Unity はガンマ補正を適用し、数字値が歪みます。 0.5 で焼き込まれたグレーがシェーダーで 0.5 として読まれません。

テクスチャを選択 → Inspector で sRGB (Color Texture) をオフ → Apply。

Mask Maker は焼き込む時点で既に正しい設定で保存します — マスクはリニア、カラー(グラデーション・ペイントカラーモード)は sRGB。外部から持ち込んだマスクを使用する場合のみ、直接確認する必要があります。 → sRGB とインポート設定

解像度​

通常は 512~1024px で十分です。マスクは形状の境界のみが重要で、細部の描写は不要です。境界が階段に見える場合は、解像度を上げる前に dilate(アウトライン拡張)値を最初に大きくしてみてください。 → トラブルシューティング

どのタブでどのマスクを作成するか​

タブ作成するもの主な用途
MatCap グロスマットキャップハイライト(グロスモード)またはメッシュの凹部分(AO/キャビティモード)の白黒マスクグロス/スペキュラー/リムマスク、金属部位の指定
グラデーションワールド方向グラデーションカラーテクスチャ高さベース色のティント(オンブレ染色)
ブリッジ+領域マスクランダム束モード:ランダムに選択された束の白黒マスク / 手動選択モード:クリックした束だけが白いマスクブリッジ(ハイライト)染色用 2nd/3rd レイヤー、特定部位のみを指定するスタッキングレイヤーマスク
スロット分割マスクではなくメッシュそのものを異なるスロットに分離完全に異なるシェーダーを適用する部位の分離
ペイントブラシで直接描画したマスク自動生成ができない任意の形状すべて
コンバイナー複数のマスクを R/G/B/A に合成した 1 枚ファイル数削減、マスク合成/チャンネル分離

シェーダーがマスクをどこで読むか​

シェーダーごとにマスクを受け取るスロット(プロパティ)が異なります。同じ「グロスマスク」でも、lilToon は MatCap ▸ Mask、NiloToon は MatCap Additive ▸ Mask Map で読みます。

→ lilToon · Poiyomi · MingToon · NiloToon