您的位置:首页 > 移动开发 > Unity3D

Unity用sharder实现重复贴图

2015-11-14 11:01 561 查看
如果有看不懂的参数,请参看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

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: