- Home /
 
Can't move texture by modify 'offset' in inspector
I want to do some UV animation. So I find some ways to do it. eg: renderer.materials[materialIndex].SetTextureOffset(textureName, uvOffset);
Butthere is nothing happened.Then I change the parameter 'offset' in inspector panel by hand--nothing happen too.
So I just wonder if my shader does NOT support change Texture's UVs.There aer codes of my shader:
 Shader "Custom/AlphaMask" {
        Properties
         {
         _Color ("Main Color", Color) = (1,1,1,1)
         _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
         _MaskTex ("Mask (A)", 2D) = "white" {}
         _Cutoff ("Cutoff", Range(0,1)) = 0.5
         }
         Category
         {
             Lighting Off
             ZWrite Off
             Cull back
             Fog { Mode Off }
             Tags {"Queue"="Transparent" "IgnoreProjector"="True"}
             Blend SrcAlpha OneMinusSrcAlpha
             SubShader
             {
                 Pass
                 {
                     CGPROGRAM
                     #pragma vertex vert
                     #pragma fragment frag
                     sampler2D _MainTex;
                     sampler2D _MaskTex;
                     fixed4 _Color;
                     float _Cutoff;
                     struct appdata
                     {
                         float4 vertex : POSITION;
                         float4 texcoord : TEXCOORD0;
                     };
                     struct v2f
                     {
                         float4 pos : SV_POSITION;
                         float2 uv : TEXCOORD0;
                     };
                     v2f vert (appdata v)
                     {
                         v2f o;
                         o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
                         o.uv = v.texcoord.xy;
                         return o;
                 }
                     half4 frag(v2f i) : COLOR
                     {
                         fixed4 c = _Color * tex2D(_MainTex, i.uv);
                         fixed ca = tex2D(_MaskTex, i.uv).a;
                         c.a *= ca >= _Cutoff ? 0f : 1f;
                         return c;
                     }
                     ENDCG
                 }
             }
             SubShader
             {   
                  AlphaTest LEqual [_Cutoff]  
                   Pass  
                   {  
                      SetTexture [_MaskTex] {combine texture}  
                      SetTexture [_MainTex] {combine texture, previous}  
                   }  
             }
             
         }
         Fallback "Transparent/VertexLit"
     }
 
               This problem is really driving me crary. It will be nice if somebody help.Thanks!
               Comment
              
 
               
              @mckelynn This shader doesn't support it. To add support for uv offset and scaling, include UnityCG.cginc, add the uniform
float4 _$$anonymous$$ainTex_ST;below
sampler2D _$$anonymous$$ainTex;and change the line
o.uv = v.texcoord.xy;to
o.uv = TRANSFOR$$anonymous$$_TEX(v.texcoord.xy, _$$anonymous$$ainTex);
Your answer