shaderlab UV动画所需的变量声明

优化资源、美术需要迫使自己的顶点shader能够进行TRANSFORM_TEX运算,进行该运算的前提是需要声明一个 _MainTex_ST 变量,类型为float4即可。

 

此时就可以使用unity cg中的函数:

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

TRANSFORM_TEX函数就是用顶点uv和texture的tiling、offset作偏移运算,因此下面的计算会更直观:

o.uv = v.texcoord.xy * _MainTex_ST.xy(即为tiling) + _MainTex_ST.zw(即为offset);

在tilling(1,1) offset(0,0)的条件下,上面的计算相当于 o.uv = v.texcoord.xy;此时的uv是不会被计算的,也就是tiling和offset任何值都不会影响最终材质球的输出。

 

posted @ 2016-05-04 17:08  verlout  阅读(242)  评论(0编辑  收藏  举报