Unity Shader教程之 Tiling重复平铺效果的实现
来源:网络收集 点击: 时间:2024-02-12打开Unity,新建一个工程,在场景中添加一个Plane,调整好观察角度,具体如下图


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

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


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


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


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


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

TilingShader 脚本的具体内容如下:
ShaderCustom/TilingShader{
Properties
{
_Color(Color,Color)=(1,1,1,1)
_MainTex(MainTexture,2D)=white{}
}
SubShader
{
tags{Queue=TransparentRenderType=TransparentIgnoreProjector=True}
BlendSrcAlphaOneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragmavertexvert
#pragmafragmentfrag
#includeUnityCG.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/9脚本编译正确,回到Unity,再次调整材质的 Tiling 相关值,对应效果就会发上变化,最终效果如下图


您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言
UNITYSHADERTILING重复平铺效果版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_32375.html