Shader "Custom/VertFragShader" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag //使用一个结构体来定义顶点着色器的输入 struct a2v { //变量声明格式: 类型 名称 : 语义 //POSITION语义告诉Unity,用模型空间的顶点坐标填充vertex变量 float4 vertex : POSITION; //NORMAL语义告诉Unity,用模型空间的法线方向填充normal变量 float3 normal : NORMAL; //TEXCOORD0语义告诉Unity,用模型的第一套纹理坐标填充texcoord变量 float4 texcoord : TEXCOORD0; }; //注意,这里的输入参数变成了上面自定义的结构体 float4 vert(a2v v) : SV_POSITION { //把顶点坐标从模型空间转到裁剪空间,并返回。 return mul (UNITY_MATRIX_MVP, v.vertex); } fixed4 frag() : COLOR { return fixed4(1.0, 1.0, 1.0, 1.0); } ENDCG } } FallBack "Diffuse" }