序列动画帧Shader分析
来源:互联网 发布:淘宝弹弓皮筋专卖 编辑:程序博客网 时间:2024/05/20 01:38
Shader "LCX/AnimationShader" { Properties { _Color("Base Color", Color) = (1,1,1,1) _MainTex("Base(RGB)", 2D) = "white" {} _Speed("播放速度",Float)=30 _SizeX ("列数", Float) = 12 _SizeY ("行数",Float)=1 } SubShader { tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True"} Blend SrcAlpha OneMinusSrcAlpha Cull Off Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" float4 _Color; sampler2D _MainTex; fixed _Speed; fixed _SizeX; fixed _SizeY; struct v2f { float4 pos:POSITION; float4 uv:TEXCOORD0; }; struct appdata{ float4 vertex : POSITION; float4 texcoord : TEXCOORD; }; v2f vert(appdata v) { v2f o; o.pos = mul(UNITY_MATRIX_MVP, v.vertex); o.uv = v.texcoord; return o; } float2 AnimationUV(float2 uv){ //通过时间更新图片第几行图片 float col = floor(_Time.y *_Speed / _SizeX); //通过时间更新图片第几列图片 float row=floor(_Time.y *_Speed-col*_SizeX); //每次更新的量 float sourceX = 1.0 / _SizeX; float sourceY=1.0/_SizeY; //所显示图片缩放至应有的大小 uv.x *= sourceX; uv.y *=sourceY; //更换帧 uv.x += row * sourceX; uv.y=1-col*sourceY-uv.y; return uv; } half4 frag(v2f i):COLOR { half4 c = tex2D(_MainTex , AnimationUV(i.uv.xy)) * _Color; return c; } ENDCG } } }
阅读全文
0 0
- 序列动画帧Shader分析
- 序列帧动画.shader
- 序列帧动画Shader
- Unity Shader UV动画(序列帧动画)
- unity UV 序列动画 shader
- Shader基础实例之动画序列帧播放
- Shader博客学习转载 - shader实例(一)帧序列动画
- Cg入门23: Fragment shader – UV动画(序列帧)
- 1.逐帧动画shader
- Cocos2d-x 2.0 序列帧动画 深入分析
- Cocos2d-x 2.0 序列帧动画 深入分析
- Cocos2d-x 2.0 序列帧动画 深入分析
- Cocos2d-x 2.0 序列帧动画 深入分析(转)
- Cocos2d-x 2.0 序列帧动画 深入分析
- Shader——自己写的一个序列帧Shader
- 制作动画序列帧
- 序列帧动画
- Unity 序列帧动画
- 堆初始化 堆排序
- 安装vim时 无法获得锁 /var/lib/dpkg/lock
- 重新认识HTML系列002——html全局属性讲解之accesskey
- kafka:一个分布式消息系统
- linux 设置北京时间
- 序列动画帧Shader分析
- php-fpm VS hhvm && nginx 配置
- Linux常用查看日志命令tail
- linux下安装mysql
- 深入浅出生成对抗网络1-GAN入门
- Scala中的模糊概念
- spring boot学习笔记(二)
- 20170608学习笔记整理
- 重新认识HTML系列003——base标签详解