将下面的Shader代码粘到工程中
1 Shader "Mocha/Clip" 2 { 3 Properties{ 4 _Color("Color",Color)=(1,1,1,1) 5 _P("p",Range(-0.5,0.51))=0 6 } 7 SubShader{ 8 Pass{ 9 Cull OFF10 CGPROGRAM11 #pragma vertex vert12 #pragma fragment frag13 #include "UnityCG.cginc"14 15 float4 _Color;16 float _P;17 18 struct a2v{19 float4 vertex:POSITION;20 float4 texcoord:TEXCOORD0;21 };22 struct v2f{23 float4 pos:POSITION;24 float4 uv:TEXCOORD0;25 };26 27 v2f vert(a2v v){28 v2f o;29 o.uv = v.vertex;30 // o.pos=UnityObjectToClipPos(v.vertex); //Unity5.6之前版本用31 o.pos=mul(UNITY_MATRIX_MVP, v.vertex); //Unity5.6之后版本用32 return o;33 }34 35 fixed4 frag(v2f i):COLOR{36 if(i.uv.y<_P){37 discard;38 }39 return _Color;40 }41 42 ENDCG43 }44 }45 }
新建材质并选择如下参数:
通过控制下图中的“P”值进行剪裁控制,可根据需要调整“P”值大小