Unity Shader教程之 Tiling重复平铺效果的实现

 时间:2024-10-25 22:42:02

1、打开Unity,新建一个工程,在场景中添加一个Plane,调整好观察角度,具体如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现

2、导入一张贴图,注意图片的 Wrap Mode 为 Repeat ,具体如下图

Unity Shader教程之 Tiling重复平铺效果的实现

3、在工程中新建一个 Shader,可以命名为 TilingShader,双击打开进行编辑,具体如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现

4、脚本编译正确,回到Unity,在工程中新建一个材质,可以命名为 TilingMaterial,把 Shader 通道设置为刚才新建的 Shader,然后把贴图设置上,把材质香崔阋琦赋给 Plane,具体效果如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现

5、把 Plane 的大小调整一下,具体下过如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现

6、修改材质的 Tiling,但是此时没有任何变化,具体如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现

7、双击 TilingShader 编辑,修改添加代码如下图

Unity Shader教程之 Tiling重复平铺效果的实现

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 相关值,对应效果就会发上变化,最终效果如下图

Unity Shader教程之 Tiling重复平铺效果的实现
Unity Shader教程之 Tiling重复平铺效果的实现
热门搜索
手抄报大全 六年级数学手抄报 关于文明的手抄报 中国梦手抄报内容 热爱祖国手抄报 春天的手抄报图片 关于劳动的手抄报 消防安全手抄报图片 春天手抄报图片 新年的手抄报