"汽车变色Shader"
实现原理
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.y = v.vertex.y;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
//不用if else
float rate = i.y - _Center; // (0-0.5) (-0.5,0)
float dis = abs(rate);
rate = rate / dis; // 1 -1
float y1 = saturate(dis / _Radius); // (0,1)
rate *= y1;
rate = rate * 2 + 0.5;
return lerp(_BaseColor, _SecColor, rate); //颜色融合
}