第一个shader! 裁剪物体
2026/6/12 15:10:00 网站建设 项目流程

注意:因为是用模型的UV的X来判断裁剪的,因为需要模型将UV的X整个铺满

Shader "Unlit/001" { Properties { _MainTex ("Texture", 2D) = "white" {} _Scale("Scale",Range(0,1))=0.5 } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fog #include "UnityCG.cginc" //输入结构体 struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; //输出结构体 struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; float _Scale; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); return o; } fixed4 frag (v2f i) : SV_Target { //根据模型的UV.x来判断是否裁切 if(1-_Scale>i.uv.x){ discard; } fixed3 albeo=tex2D(_MainTex,i.uv).rgb; return fixed4(albeo,1); } ENDCG } } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询