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
}
}
}
实现效果:通过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
}
}
}
相关文章推荐
- 【Unity实用小方法】开启游戏时播放一段动画
- Unity一个旋转的Sharder
- unity 3D 里的刚体属性
- [unity3d]屏幕坐标跟世界坐标的转换
- 一种Unity2D多分辨率屏幕适配方案
- Unity3D共享材质巧妙用法
- 全面理解Unity加载和内存管理
- Unity3d 鼠标拣选小功能集合
- 全面理解Unity加载和内存管理机制之二:进一步深入和细节
- Unity矩阵说明
- Unity3d调用android里的.so
- unity Sharder的格式与参数
- unity5 新布料系统 分析
- Unity 实现Log实时输出到屏幕或控制台上<一>
- Unity 实现Log实时输出到屏幕或控制台上<一>
- Unity 中Token的应用
- 【Unity特效】永恒战士3中的死亡特效
- 通过Unity实现手机本地模型(obj)的读取
- Unity中资源动态加载的几种方式比较
- Visual Studio 2015 Community - Full download (ISO)