编写Shader将一张序列帧动画播放出来
效果图如下图所示
播放效果如下
原理:控制纹理UV。随时间改变X轴 Tiling,来显示单个火焰,再改变X轴的Offset来位移纹理切换其他火焰
Shader代码
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Custom/UVAnim"
{
Properties
{
_Color("Main Color", Color) = (1,1,1,1)
_MainTex("Main Texture(RGB)", 2D) = "white" {}
_TimePerFrame("TimePerFrame",float) = 150
}
SubShader
{
tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True"}
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragm