在CG中不能直接使用Properties中的属性名称,在使用之前,必须现在CG代码块中声明一个同名的变量。
Properties
{
_MainColor("MainColor", color) = (1,1,1,1)
}
CGPROGRAM
float4 _MainColor;
uniform float4 _SecondColor;
uniform :修饰的变量的赋值操作需要由应用程序块提供,即,可以通过脚本进行赋值。如果在CG中声明的变量,在Properties块中没有对应的变量,默认也是uniform。
通过脚本对uniform修饰的变量进行赋值 :
GetComponent<Render>().material.SetVector("_SecondColor",Vector4(1,0,0,1));
SetVector方法 :参数:Shader中需要赋值的变量名、给这个变量赋的值