1、打开Unity,新建一个工程,在场景中添加一个Plane,调整好观察角度,具体如下图
2、导入一张贴图,注意图片的 Wrap Mode 为 Repeat ,具体如下图
3、在工程中新建一个 Shader,可以命名为 TilingShader,双击打开进行编辑,具体如下图
4、脚本编译正确,回到Unity,在工程中新建一个材质,可以命名为 TilingMaterial,把 Shader 通道设置为刚才新建的 Shader,然后把贴图设置上,把材质香崔阋琦赋给 Plane,具体效果如下图
5、把 Plane 的大小调整一下,具体下过如下图
6、修改材质的 Tiling,但是此时没有任何变化,具体如下图
7、双击 TilingShader 编辑,修改添加代码如下图
8、TilingShader 脚本的具体内容如下:Shader"Cu衡痕贤伎stom/TilingShader"{ Properties { _Color("Color",Color)=(1,1,1,1) _MainTex("MainTexture",2D)="white"{} } SubShader { tags{"Queue"="Transparent""RenderType"="Transparent""IgnoreProjector"="True"} BlendSrcAlphaOneMinusSrcAlpha Pass { CGPROGRAM #pragmavertexvert #pragmafragmentfrag #include"UnityCG.cginc" float4_Color; sampler2D_MainTex; structv2f { float4pos:POSITION; float2uv:TEXCOORD0; };float4_MainTex_ST; v2fvert(appdata_basev) { v2fo; o.pos=UnityObjectToClipPos(v.vertex); o.uv=v.texcoord.xy; o.uv=TRANSFORM_TEX(v.texcoord,_MainTex); returno; } half4frag(v2fi):COLOR { half4c=tex2D(_MainTex,i.uv.xy)*_Color; returnc; } ENDCG } }}
9、脚本编译正确,回到Unity,再次调整材质的 Tiling 相关值,对应效果就会发上变化,最终效果如下图