序列帧动画的实质是uv信息的变化,理解Tiling(图片占得比例大小)和Offset(图片的偏移量)。Unity3d 序列帧动画 默认左下角offset为0 0 Tiling为小图/大图

代码如下:

public int rowNum ;

public int lineNum ;

 

public float iconwidth ;

public float iconheight ;

public int tileNum=6;

public float texWidth ;

public float texHeight ;

int achievementIndex=0;

float uWidth = 0;

float vHeight = 0;

// Use this for initialization

void Start () {

 

 

    uWidth=iconwidth/texWidth;

vHeight=iconheight/texHeight;

    InvokeRepeating("AnimationTexture",0,0.1f);

}

 

void AnimationTexture()

{   

if(achievementIndex>tileNum)

{

achievementIndex=0;

}

int rowIndex=achievementIndex/rowNum;

int lineIndex=achievementIndex%lineNum;

 

float uNums=lineIndex*uWidth;

float vNums=1-rowIndex*vHeight;

Vector2 size=new Vector2(uWidth,vHeight);

renderer.material.SetTextureOffset("_MainTex",new Vector2(uNums,vNums));

renderer.material.SetTextureScale("_MainTex",size);

achievementIndex++;

 

}

 

相关文章:

  • 2022-01-08
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-30
  • 2022-12-23
  • 2021-09-06
  • 2021-05-30
相关资源
相似解决方案