Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_LerpValue1("_LerpValue1",Range(0,1)) = 0
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_LerpValue2("_LerpValue2",Range(0,1)) = 0
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_LerpValue3("_LerpValue3",Range(0,1)) = 0
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_LerpValue4("_LerpValue4",Range(0,1)) = 0
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_LerpValue5("_LerpValue5",Range(0,1)) = 0
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_LerpValue6("_LerpValue5",Range(0,1)) = 0
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
_LerpValue7("_LerpValue6",Range(0,1)) = 0
}
SubShader
{
Tags {"Queue" = "Transparent"} ZWrite Off Blend SrcAlpha OneMinusSrcAlpha
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
uniform float _LerpValue1;
uniform float _LerpValue2;
uniform float _LerpValue3;
uniform float _LerpValue4;
uniform float _LerpValue5;
uniform float _LerpValue6;
uniform float _LerpValue7;
float _LerpValue;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(_color.a<=0.15){
return half4(0,0,0,0);
}
float4 transparent = float4(0,0,0,0);
float4 Red = lerp(_ColorReplacement1,transparent,smoothstep(0,_LerpValue1,dis(_Red)));
float4 Green = lerp(_ColorReplacement2,transparent,smoothstep(0,_LerpValue2,dis(_Green)));
float4 Blue = lerp(_ColorReplacement3,transparent,smoothstep(0,_LerpValue3,dis(_Blue)));
float4 Yellow = lerp(_ColorReplacement4,transparent,smoothstep(0,_LerpValue4,dis(_Yellow)));
float4 Purple = lerp(_ColorReplacement5,transparent,smoothstep(0,_LerpValue5,dis(_Purple)));
float4 Cyan = lerp(_ColorReplacement6,transparent,smoothstep(0,_LerpValue6,dis(_Cyan)));
float4 White = lerp(_ColorReplacement7,transparent,smoothstep(0,_LerpValue7,dis(_White)));
return _color + (Green + Red + Blue + Yellow + Purple + Cyan + White);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_LerpValue1("_LerpValue1",Range(0,1)) = 0
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_LerpValue2("_LerpValue2",Range(0,1)) = 0
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_LerpValue3("_LerpValue3",Range(0,1)) = 0
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_LerpValue4("_LerpValue4",Range(0,1)) = 0
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_LerpValue5("_LerpValue5",Range(0,1)) = 0
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_LerpValue6("_LerpValue5",Range(0,1)) = 0
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
_LerpValue7("_LerpValue6",Range(0,1)) = 0
}
SubShader
{
Tags {"Queue" = "Transparent"} ZWrite Off Blend SrcAlpha OneMinusSrcAlpha
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
uniform float _LerpValue1;
uniform float _LerpValue2;
uniform float _LerpValue3;
uniform float _LerpValue4;
uniform float _LerpValue5;
uniform float _LerpValue6;
uniform float _LerpValue7;
float _LerpValue;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(_color.a<=0.15){
return half4(0,0,0,0);
}
float4 transparent = float4(0,0,0,0);
float4 Red = lerp(_ColorReplacement1,transparent,smoothstep(0,_LerpValue1,dis(_Red)));
float4 Green = lerp(_ColorReplacement2,transparent,smoothstep(0,_LerpValue2,dis(_Green)));
float4 Blue = lerp(_ColorReplacement3,transparent,smoothstep(0,_LerpValue3,dis(_Blue)));
float4 Yellow = lerp(_ColorReplacement4,transparent,smoothstep(0,_LerpValue4,dis(_Yellow)));
float4 Purple = lerp(_ColorReplacement5,transparent,smoothstep(0,_LerpValue5,dis(_Purple)));
float4 Cyan = lerp(_ColorReplacement6,transparent,smoothstep(0,_LerpValue6,dis(_Cyan)));
float4 White = lerp(_ColorReplacement7,transparent,smoothstep(0,_LerpValue7,dis(_White)));
return _color + (Green + Red + Blue + Yellow + Purple + Cyan + White);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_LerpValue1("_LerpValue1",Range(0,1)) = 0
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_LerpValue2("_LerpValue2",Range(0,1)) = 0
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_LerpValue3("_LerpValue3",Range(0,1)) = 0
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_LerpValue4("_LerpValue4",Range(0,1)) = 0
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_LerpValue5("_LerpValue5",Range(0,1)) = 0
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_LerpValue6("_LerpValue5",Range(0,1)) = 0
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
_LerpValue7("_LerpValue6",Range(0,1)) = 0
}
SubShader
{
Tags {"Queue" = "Transparent"} ZWrite Off Blend SrcAlpha OneMinusSrcAlpha
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
uniform float _LerpValue1;
uniform float _LerpValue2;
uniform float _LerpValue3;
uniform float _LerpValue4;
uniform float _LerpValue5;
uniform float _LerpValue6;
uniform float _LerpValue7;
float _LerpValue;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(_color.a<=0.15){
return half4(0,0,0,0);
}
float4 transparent = float4(0,0,0,0);
float4 Red = lerp(_ColorReplacement1,transparent,smoothstep(0,_LerpValue1,dis(_Red)));
float4 Green = lerp(_ColorReplacement2,transparent,smoothstep(0,_LerpValue2,dis(_Green)));
float4 Blue = lerp(_ColorReplacement3,transparent,smoothstep(0,_LerpValue3,dis(_Blue)));
float4 Yellow = lerp(_ColorReplacement4,transparent,smoothstep(0,_LerpValue4,dis(_Yellow)));
float4 Purple = lerp(_ColorReplacement5,transparent,smoothstep(0,_LerpValue5,dis(_Purple)));
float4 Cyan = lerp(_ColorReplacement6,transparent,smoothstep(0,_LerpValue6,dis(_Cyan)));
float4 White = lerp(_ColorReplacement7,transparent,smoothstep(0,_LerpValue7,dis(_White)));
return _color + (Green + Red + Blue + Yellow + Purple + Cyan + White);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_LerpValue1("_LerpValue1",Range(0,1)) = 0
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_LerpValue2("_LerpValue2",Range(0,1)) = 0
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_LerpValue3("_LerpValue3",Range(0,1)) = 0
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_LerpValue4("_LerpValue4",Range(0,1)) = 0
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_LerpValue5("_LerpValue5",Range(0,1)) = 0
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_LerpValue6("_LerpValue5",Range(0,1)) = 0
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
_LerpValue7("_LerpValue6",Range(0,1)) = 0
}
SubShader
{
Tags {"Queue" = "Transparent"} ZWrite Off Tags {Blend "RenderType"="Opaque"SrcAlpha }OneMinusSrcAlpha
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
uniform float _LerpValue1;
uniform float _LerpValue2;
uniform float _LerpValue3;
uniform float _LerpValue4;
uniform float _LerpValue5;
uniform float _LerpValue6;
uniform float _LerpValue7;
float _LerpValue;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(dis(_Red)<=_TH){
return _ColorReplacement1;
}
if(dis(_Green)<=_TH){
return _ColorReplacement2;
}
if(dis(_Blue)<=_TH){
return _ColorReplacement3;
}
if(dis(_Yellow)<=_TH){
return _ColorReplacement4;
}
if(dis(_Purple)<=_TH){
return _ColorReplacement5;
}
if(dis(_Cyan)<=_TH_color.a<=0.15){
return _ColorReplacement6;
}
if(dishalf4(_White)<=_TH0,0,0,0){
return _ColorReplacement7;;
}
return float4 transparent = float4(_color.rgb0,10,0,0);
float4 Red = lerp(_ColorReplacement1,transparent,smoothstep(0,_LerpValue1,dis(_Red)));
float4 Green = lerp(_ColorReplacement2,transparent,smoothstep(0,_LerpValue2,dis(_Green)));
float4 Blue = lerp(_ColorReplacement3,transparent,smoothstep(0,_LerpValue3,dis(_Blue)));
float4 Yellow = lerp(_ColorReplacement4,transparent,smoothstep(0,_LerpValue4,dis(_Yellow)));
float4 Purple = lerp(_ColorReplacement5,transparent,smoothstep(0,_LerpValue5,dis(_Purple)));
float4 Cyan = lerp(_ColorReplacement6,transparent,smoothstep(0,_LerpValue6,dis(_Cyan)));
float4 White = lerp(_ColorReplacement7,transparent,smoothstep(0,_LerpValue7,dis(_White)));
return _color + (Green + Red + Blue + Yellow + Purple + Cyan + White);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(dis(_Red)<=_TH){
return _ColorReplacement1;
}
if(dis(_Green)<=_TH){
return _ColorReplacement2;
}
if(dis(_Blue)<=_TH){
return _ColorReplacement3;
}
if(dis(_Yellow)<=_TH){
return _ColorReplacement4;
}
if(dis(_Purple)<=_TH){
return _ColorReplacement5;
}
if(dis(_Cyan)<=_TH){
return _ColorReplacement6;
}
if(dis(_White)<=_TH){
return _ColorReplacement7;
}
return float4(_color.rgb,1);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_LerpValue1("_LerpValue1",Range(0,1)) = 0
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_LerpValue2("_LerpValue2",Range(0,1)) = 0
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_LerpValue3("_LerpValue3",Range(0,1)) = 0
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_LerpValue4("_LerpValue4",Range(0,1)) = 0
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_LerpValue5("_LerpValue5",Range(0,1)) = 0
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_LerpValue6("_LerpValue5",Range(0,1)) = 0
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
_LerpValue7("_LerpValue6",Range(0,1)) = 0
}
SubShader
{
Tags {"Queue" = "Transparent"} ZWrite Off Blend SrcAlpha OneMinusSrcAlpha
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
uniform float _LerpValue1;
uniform float _LerpValue2;
uniform float _LerpValue3;
uniform float _LerpValue4;
uniform float _LerpValue5;
uniform float _LerpValue6;
uniform float _LerpValue7;
float _LerpValue;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(_color.a<=0.15){
return half4(0,0,0,0);
}
float4 transparent = float4(0,0,0,0);
float4 Red = lerp(_ColorReplacement1,transparent,smoothstep(0,_LerpValue1,dis(_Red)));
float4 Green = lerp(_ColorReplacement2,transparent,smoothstep(0,_LerpValue2,dis(_Green)));
float4 Blue = lerp(_ColorReplacement3,transparent,smoothstep(0,_LerpValue3,dis(_Blue)));
float4 Yellow = lerp(_ColorReplacement4,transparent,smoothstep(0,_LerpValue4,dis(_Yellow)));
float4 Purple = lerp(_ColorReplacement5,transparent,smoothstep(0,_LerpValue5,dis(_Purple)));
float4 Cyan = lerp(_ColorReplacement6,transparent,smoothstep(0,_LerpValue6,dis(_Cyan)));
float4 White = lerp(_ColorReplacement7,transparent,smoothstep(0,_LerpValue7,dis(_White)));
return _color + (Green + Red + Blue + Yellow + Purple + Cyan + White);
}
ENDCG
}
}
}
Shader "Smkgames"SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_FilterColor_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color"Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
_TH[HideInInspector]_Blue("Threshold"Filter value"Color 3",Range Color) = (-0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
_newColor[HideInInspector]_Purple("new"Filter Color"Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
} [HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
SubShader _ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
{ _ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
Tags_ColorReplacement3("Blue", {Color) "RenderType"="Transparent"= "Queue"="Transparent"(0,0,1.0,1.0) }//Blue
LOD_ColorReplacement4("Yellow", 100Color) = (1.0,1.0,0,1.0) //Yellow
Blend_ColorReplacement5("Purple", SrcAlphaColor) OneMinusSrcAlpha= (1.0,0,1.0,1.0) //Purple
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#includeuniform "UnityCG.cginc"sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _FilterColor;_Red;
uniform sampler2Dfloat4 _MainTex;_Green;
uniform float4 _MainTex_ST;_Blue;
uniform float4 _newColor;_Yellow;
uniform float4 _Purple;
structuniform appdatafloat4 _Cyan;
{uniform float4 _White;
//Colors Replacement
uniform float4 vertex_ColorReplacement1;
: POSITION; uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
float2 uv : TEXCOORD0; uniform float4 _ColorReplacement4;
};uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
struct v2fappdata
{
float2float4 uvvertex : TEXCOORD0;POSITION;
float4float2 vertexuv : SV_POSITION;TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv;uv, _MainTex);
return o;
}
return o; half dis(float4 c){
}half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
half4}
frag (v2f i) : Color
fixed4 frag (v2f i) : {Color
{
half4 color_color = tex2D(_MainTex, i.uv);
half dis=if(powdis(color.r-_FilterColor.r,2.0_Red)+pow(color.g-_FilterColor.g,2.0<=_TH)+pow{
return _ColorReplacement1;
}
if(color.b-_FilterColor.b,2.0dis(_Green)<=_TH);{
return _ColorReplacement2;
}
if(color.a<=0.15dis(_Blue)<=_TH){
return half4_ColorReplacement3;
}
if(0,0,0,0dis(_Yellow);<=_TH){
} return _ColorReplacement4;
}
if(dis(_Purple)<=_TH){
return lerp(_newColor,color,smoothstep_ColorReplacement5;
}
if(_TH,1,dis(_Cyan)<=_TH);{
// return lerp_ColorReplacement6;
}
if(_newColor,color,smoothstepdis(_TH_White)<=_TH){
return _ColorReplacement7;
}
return float4(_color.rgb,1,dis));
}
ENDCG
}
}
}
useful links: Chroma Key Shader 2 , Chroma Key Shader 1
Here Is the Chroma Key Shader for pixel art sprites
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : Color
{
fixed4 color = tex2D(_MainTex, i.uv);
if(distance(color,_Red)<=_TH){
return _ColorReplacement1;
}
if(distance(color,_Green)<=_TH){
return _ColorReplacement2;
}
if(distance(color,_Blue)<=_TH){
return _ColorReplacement3;
}
if(distance(color,_Yellow)<=_TH){
return _ColorReplacement4;
}
if(distance(color,_Purple)<=_TH){
return _ColorReplacement5;
}
if(distance(color,_Cyan)<=_TH){
return _ColorReplacement6;
}
if(distance(color,_White)<=_TH){
return _ColorReplacement7;
}
return float4(color.rgb,1);
}
ENDCG
}
}
}
Shader "Smkgames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_FilterColor("Filter Color", Color) = (1.0,1.0,1.0,1.0)
_TH("Threshold value",Range(-1,1)) = 1
_newColor("new Color",Color) =(1.0,1.0,1.0,1.0)
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent" }
LOD 100
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform float _TH;
uniform float4 _FilterColor;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float4 _newColor;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
half4 frag (v2f i) : Color
{
half4 color = tex2D(_MainTex, i.uv);
half dis=(pow(color.r-_FilterColor.r,2.0)+pow(color.g-_FilterColor.g,2.0)+pow(color.b-_FilterColor.b,2.0));
if(color.a<=0.15){
return half4(0,0,0,0);
}
return lerp(_newColor,color,smoothstep(_TH,1,dis));
//return lerp(_newColor,color,smoothstep(_TH,1,dis));
}
ENDCG
}
}
}
useful links: Chroma Key Shader 2 , Chroma Key Shader 1
Here Is the Chroma Key Shader for pixel art sprites
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : Color
{
fixed4 color = tex2D(_MainTex, i.uv);
if(distance(color,_Red)<=_TH){
return _ColorReplacement1;
}
if(distance(color,_Green)<=_TH){
return _ColorReplacement2;
}
if(distance(color,_Blue)<=_TH){
return _ColorReplacement3;
}
if(distance(color,_Yellow)<=_TH){
return _ColorReplacement4;
}
if(distance(color,_Purple)<=_TH){
return _ColorReplacement5;
}
if(distance(color,_Cyan)<=_TH){
return _ColorReplacement6;
}
if(distance(color,_White)<=_TH){
return _ColorReplacement7;
}
return float4(color.rgb,1);
}
ENDCG
}
}
}
Shader "SmkGames/ColorReplacement"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TH("Threshold value",Range(0,1)) = 0.5
[HideInInspector] _color("Color", Color) = (1.0,1.0,1.0,1.0)
[HideInInspector]_Red("Filter Color 1", Color) = (1.0,0,0,1.0) //Red
[HideInInspector]_Green("Filter Color 2", Color) = (0,1.0,0,1.0) //Green
[HideInInspector]_Blue("Filter Color 3", Color) = (0,0,1.0,1.0) //Blue
[HideInInspector]_Yellow("Filter Color 4", Color) = (1.0,1.0,0,1.0) //Yellow
[HideInInspector]_Purple("Filter Color 5", Color) = (1.0,0,1.0,1.0) //Purple
[HideInInspector]_Cyan("Filter Color 6", Color) = (0,1.0,1.0,1.0) //Cyan
[HideInInspector]_White("Filter Color 7", Color) = (1.0,1.0,1.0,1.0) //Cyan
_ColorReplacement1("Red", Color) = (1.0,0,0,1.0) //Red
_ColorReplacement2("Green", Color) = (0,1.0,0,1.0) //Green
_ColorReplacement3("Blue", Color) = (0,0,1.0,1.0) //Blue
_ColorReplacement4("Yellow", Color) = (1.0,1.0,0,1.0) //Yellow
_ColorReplacement5("Purple", Color) = (1.0,0,1.0,1.0) //Purple
_ColorReplacement6("Cyan", Color) = (0,1.0,1.0,1.0) //Cyan
_ColorReplacement7("White", Color) = (1.0,1.0,1.0,1.0) //White
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
fixed4 _color;
uniform float _TH; //Threshold value
//MainColors
uniform float4 _Red;
uniform float4 _Green;
uniform float4 _Blue;
uniform float4 _Yellow;
uniform float4 _Purple;
uniform float4 _Cyan;
uniform float4 _White;
//Colors Replacement
uniform float4 _ColorReplacement1;
uniform float4 _ColorReplacement2;
uniform float4 _ColorReplacement3;
uniform float4 _ColorReplacement4;
uniform float4 _ColorReplacement5;
uniform float4 _ColorReplacement6;
uniform float4 _ColorReplacement7;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
half dis(float4 c){
half result = (pow(_color.r - c.r,2.0)+pow(_color.g - c.g,2.0)+pow(_color.b - c.b,2.0));
return result;
}
fixed4 frag (v2f i) : Color
{
_color = tex2D(_MainTex, i.uv);
if(dis(_Red)<=_TH){
return _ColorReplacement1;
}
if(dis(_Green)<=_TH){
return _ColorReplacement2;
}
if(dis(_Blue)<=_TH){
return _ColorReplacement3;
}
if(dis(_Yellow)<=_TH){
return _ColorReplacement4;
}
if(dis(_Purple)<=_TH){
return _ColorReplacement5;
}
if(dis(_Cyan)<=_TH){
return _ColorReplacement6;
}
if(dis(_White)<=_TH){
return _ColorReplacement7;
}
return float4(_color.rgb,1);
}
ENDCG
}
}
}
useful links: Chroma Key Shader 2 , Chroma Key Shader 1
Loading
Loading
Loading
lang-cs


