Unity用sharder实现重复贴图

来源:互联网 发布:excel 宏 知乎 编辑:程序博客网 时间:2024/06/05 11:47

如果有看不懂的参数,请参看http://blog.csdn.net/u011244737/article/details/49819751

实现效果:通过sharder实现重复贴图

通过 Tilling和Offset调整


Shader "Custom/BaseShader"
{
Properties
{
_Color("Base Color", Color) = (1,1,1,1)
_MainTex("Base(RGB)", 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;

//下面用到的TRANSFORM_TEX函数返回值是float2类型
float2 uv:TEXCOORD0;
};

//先声明
float4 _MainTex_ST; 
v2f vert(appdata_base v)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);

//不懂请参看  #include "UnityCG.cginc"
                o.uv=TRANSFORM_TEX(v.texcoord,_MainTex);
//o.uv = v.texcoord;
return o;
}
half4 frag(v2f i):COLOR
{
half4 c = tex2D(_MainTex , i.uv.xy) * _Color;
return c;
}
ENDCG
}
}
}



0 0
原创粉丝点击