在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中需要賦值的變量名、給這個變量賦的值