まず何に使う?
- 2つの形をまとめて1つのマスクにしたい時
- 穴を開けるように一部を削りたい時
- 重なり部分だけ別に取り出したい時
概要
2枚のマスクを足す・引く・共通部分だけ残すのブーリアン演算で合成する ノードです。単純な形のマスクを組み合わせて複雑な選択範囲を作る、 マスクワークの中核部品です。
使い方のポイント
- Solid 系の
solid_combine/solid_subtract/solid_intersectの 2Dマスク版と考えると覚えやすい Subtractの「窓抜き」が頻出: 四角から円を引いて枠を作る、 キャラ全身マスクから顔マスクを引いて「顔以外」を作る- 合成後の細かい欠け・ゴミは
pixel_cleanupやmorphologyで掃除 - 白黒2値だけでなく、灰色や半透明を連続値のsoft maskとして合成できる。
進行マップ等、マスク以外の意味を持つ値画像には
blendやexpression_pixelを使う
関連ノード
path_mask/shape_generate— 合成元マスクの生成mask— 出来たマスクでの切り抜きmorphology/pixel_cleanup— 合成後の整形blend— 値画像の合成
合成方法
Union- A または B のどちらかにある所を残します
- 2つの形をまとめたい時に使います
Subtract- A から B の領域を削ります
- 穴あき形状を作りたい時に便利です
Intersect- A と B が重なった所だけ残します
- 共通部分だけを取り出したい時に使います
注意
- 出力は白 + アルファのマスク画像です。RGB は白固定です。
- 出力サイズは A/B の大きい方に合わせます。
- 読み方は
sourceで決まります。AlphaはAlpha、Luminanceは輝度、Autoは画像ごとに半透明画素が1つでもあればAlpha、全面不透明なら輝度を使います。 - soft maskでは
Union=max(A,B)、Intersect=min(A,B)、Subtract=A*(1-B)として連続値を保ちます。 - アンチエイリアスを含む白黒画像は
AutoでAlpha扱いになり、不透明な黒も値1に なることがあります。意図が明確な場合はAlphaまたはLuminanceを指定してください。 - progress map / normal map / depth map のような「値画像」を合成する用途には向きません。それらは mask ではなく map 系として扱います。
使用例
Rectangle MaskとCircle MaskをUnion- 2つの形をまとめたマスクを作れます
Rectangle MaskからCircle MaskをSubtract- 窓や穴のような抜き形を作れます
- 2つの流れマスクを
Intersect- 重なる部分だけ別処理したい時に使えます