欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用UnityShader实现序列帧

程序员文章站 2022-03-25 21:26:32
...

使用UnityShader实现序列帧


实现原理------------------------------------------------------------------------------------

  1. 正确计算UV的偏移即可
 fixed4 frag (v2f i) : SV_Target
            {
				float width= 1 / _SizeX;
			    float height = 1 / _SizeY;

				float2 finalUV = i.uv;
				finalUV.x *= 1 / _SizeX;
				finalUV.y*= 1 / _SizeY;
	
				int index = _Time.y*_Speed;
				int xIndex = fmod(index, _SizeX);
				int yIndex = index/ _SizeX;

				finalUV.x += xIndex * width;
				finalUV.y += yIndex * height;

                fixed4 col = tex2D(_MainTex, finalUV);
              
                return col;
            }