Color Mask ノード
説明
入力 Mask Color と等しい入力 In の値からマスクを作成します。入力 Range を使用すると、マスクの作成に際して、より広い範囲 (入力 Mask Color からの範囲) の値を定義できます。範囲内の色は 1 を返し、それ以外の場合は 0 を返します。入力 Fuzziness を使用すると、アンチエイリアスのように、選択範囲の境界をなじませることができます。
ポート
Name | Direction | タイプ | バインディング | 説明 |
---|---|---|---|---|
In | 入力 | Vector 3 | なし | 入力値 |
Mask Color | 入力 | Vector 3 | Color | マスクに使用する色 |
Range | 入力 | Vector 1 | なし | 入力 Mask Color を基準として、この範囲内の色を選択します |
Fuzziness | 入力 | Vector 1 | なし | 選択範囲の境界をぼかします。値が高いほど選択範囲が曖昧なマスクになります。 |
Out | 出力 | Vector 1 | なし | マスクの出力値 |
生成されるコードの例
以下のサンプルコードは、このノードの出力の一例を示したものです。
void Unity_ColorMask_float(float3 In, float3 MaskColor, float Range, float Fuzziness, out float4 Out)
{
float Distance = distance(MaskColor, In);
Out = saturate(1 - (Distance - Range) / max(Fuzziness, 1e-5));
}