提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、属性定义格式
二、能定义的变量类型
三、代码示例
Shader"MyShader/P0_6_1"
{
Properties
{
//材质属性区域
//性质 变量名 暴露名 类型 默认值
[PowerSlider(3.0)] _Value ("倍率", Range (0.01, 1)) = 0.1
_Color("颜色",COLOR) = (1,1,1,1)
}
SubShader
{
pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
//属性的申明,在材质属性区域定义的属性,需要在CG中申明
fixed4 _Color;
float _Value;
struct appdata
{
float4 vertex : POSITION;
float4 color : COLOR;
};
struct v2f
{
float4 pos : SV_POSITION;
};
v2f vert(appdata v)
{
v2f o = (v2f)0;
//把点转化到裁剪空间
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
float4 frag(v2f i) : SV_TARGET
{
return _Color * _Value * i.pos;
}
ENDCG
}
}
}
效果