1.简单的颜色动态变化,通过坐标的值来判断fragment 返回不同的颜色值。需要注意的是模型的坐标通常是[-0.5,0.5]的范围内的,然后通过lerp函数来进行颜色的融合相加。虽然可以通过if else 等判断语句来完成,但是这样对于gpu来说是一种伤害,并补高效.
Shader "changecolor/ChangeColorTest" {
Properties {
_Color1 ("Main Color 1", Color) = (1,1,1,1)
_Color2 ("Main Color 2", Color) = (1,0,1,1)
_Center ("Main Center",Range(0.5,-0.5)) = 0
_R ("Main R",Range(0.5,-0.5)) = 0.1
}
SubShader {
pass{
CGPROGRAM
#pragma vertex vertx
#pragma fragment fagt
#include "unitycg.cginc"
float4 _Color1;
float4 _Color2;
float _Center;
fl