Unity3d 序列幀動畫


序列幀動畫的實質是uv信息的變化,理解Tiling(圖片占得比例大小)和Offset(圖片的偏移量)。 默認左下角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++;

 

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM