shader uv动画
2017-04-09 13:39
309 查看
1 实现材质左右循环移动效果
贴图的寻址模式设置为Repeat
创建一个plan,调整所放置x:y=1:8
创建shader,控制uv位置,实现uv循环移动效果
code:
核心代码: i.uv+=float2(0,_Time.y*_MySpeed);
_Time是个4维向量,跟Unity3D中的deltaTime(这是个一维的,数值),Time.y是一个其中的一个维度,变化速度为正常速度。这里通过Time.y控制uv在y方向的偏移移动。
clip(i.uv.y*_MySpeed);
clip函数,当参数为负数的时候,不显示改像素位置的内容,就是剔除该像素内容
demo下载:http://download.csdn.net/detail/u011484013/9808304
贴图的寻址模式设置为Repeat
创建一个plan,调整所放置x:y=1:8
创建shader,控制uv位置,实现uv循环移动效果
code:
Shader "Unlit/NewUnlitShader 2" { Properties { _MainTex ("Texture", 2D) = "white" {} _MySpeed("speed",float)=0 } SubShader { Tags { "RenderType"="Opaque" "Queue" = "Transparent" } LOD 200 cull off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha //显示透明贴图 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fog #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; float _MySpeed; float temp; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); UNITY_TRANSFER_FOG(o,o.vertex); return o; } fixed4 frag (v2f i) : SV_Target { i.uv+=float2(0,_Time.y*_MySpeed); fixed4 col = tex2D(_MainTex, i.uv); clip(i.uv.y*_MySpeed); UNITY_APPLY_FOG(i.fogCoord, col); return col; } ENDCG } } }
核心代码: i.uv+=float2(0,_Time.y*_MySpeed);
_Time是个4维向量,跟Unity3D中的deltaTime(这是个一维的,数值),Time.y是一个其中的一个维度,变化速度为正常速度。这里通过Time.y控制uv在y方向的偏移移动。
clip(i.uv.y*_MySpeed);
clip函数,当参数为负数的时候,不显示改像素位置的内容,就是剔除该像素内容
demo下载:http://download.csdn.net/detail/u011484013/9808304
相关文章推荐
- Unity Shader UV动画(序列帧动画)
- [UnityShaderCookbook 读书笔记] [03] UV 动画
- Cg入门23: Fragment shader – UV动画(序列帧)
- UnityShader实例06:UV动画
- 【猫猫的Unity Shader之旅】之UV动画
- 火云开发课堂 - 《Shader从入门到精通》系列 第十九节:在Shader中实现3D模型的UV动画
- Cg入门23: Fragment shader – UV动画(序列帧)
- Unity Shader 学习笔记(九) UV动画Shader实例
- Cg入门24: Fragment shader – UV动画(波纹)
- shader实例(一)UV动画
- Cg入门25: Fragment shader – UV动画(模糊)
- Unity Shader uv 动画
- Shader动画之UV动画与顶点动画
- uv切换动画实现-shader
- UV旋转动画Shader
- Fragment shader---UV动画3
- Unity-Shader——用UV动画模拟模型在水下的场景
- Unity Shader学习笔记 - 用UV动画实现沙滩上的泡沫
- 【Unity NGUI游戏开发之六】游戏背景采用UV纹理动画
- 创建uv动画