环境:
unity2021.3.x
效果:
实现核心思路(shader):
fixed4 frag (v2f i) : SV_Target {
fixed4 col = tex2D(_MainTex, i.uv);
// 调整相似度
bool isRedMatch = abs(col.r - _TargetColor.r) < 0.15;
bool isGreenMatch = abs(col.g - _TargetColor.g) < 0.15;
bool isBlueMatch = abs(col.b - _TargetColor.b) < 0.15;
bool isAlphaMatch = abs(col.a - _TargetColor.a) < 0.15;
// 判断是否相似
bool isColorMatch = isRedMatch && isGreenMatch && isBlueMatch && isAlphaMatch;
// 如果是相似的颜色就返回,否则返回白色。
if (isColorMatch) {
return col;
} else {
//如果要透明就去掉下面的注释
//discard;
return fixed4(1, 1, 1, 1);
}
}
github地址:UnitySketchStyle GitHub地址