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

 时间:2026-04-29 19:18:38

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 "Custom/TilingShader" {

    Properties

    {

        _Color("Color", Color) = (1,1,1,1)

        _MainTex("Main Texture", 2D) = "white" {}

    }

        SubShader

    {

        tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True"}

        Blend SrcAlpha OneMinusSrcAlpha

                Pass

        {

                        CGPROGRAM

            #pragma vertex vert

            #pragma fragment frag

            #include "UnityCG.cginc"

                        float4 _Color;

            sampler2D _MainTex;

                        struct v2f

            {

                float4 pos:POSITION;

                float2 uv:TEXCOORD0;

            };

            float4 _MainTex_ST;

            v2f vert(appdata_base v)

            {

                v2f o;

                o.pos = UnityObjectToClipPos(v.vertex);

                o.uv = v.texcoord.xy;

                o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);

                return o;

            }

                        half4 frag(v2f i):COLOR

            {    

                half4 c = tex2D(_MainTex , i.uv.xy) * _Color;

                return c;

            }

                        ENDCG

        }

    }

}

9、脚本编译正确,回到Unity,再次调整材质的 Tiling 相关值,对应效果就会发上变化,最终效果如下图

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

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

  • 谷歌浏览器如何打开实时字幕?
  • 如何用N64模拟器玩马里奥RPG并设置键位
  • Brave浏览器如何关闭或开启扩展程序
  • 碧蓝航线刺猬弹怎么获得
  • 笔记本如何快速切换\更换电源模式,节能平衡等
  • 热门搜索
    孕期感冒怎么办 过敏怎么办 白带发绿是怎么回事 不交物业费会怎么样 红雨瓢泼泛起了回忆怎么潜 盆腔炎是怎么引起的 子宫囊肿怎么治疗 怎么查苹果手机激活时间 油条怎么做 点烟器怎么用