public class TextureAnimation : MonoBehaviour {
public int uvAnimationTileX = 8; //贴图横排的图片数量
public int uvAnimationTileY = 5; //贴图竖排的图片数量
public float framesPerSecond = 10.0f;//速度
void Update () {
// 控制速度
int index = Mathf.RoundToInt(Time.time * framesPerSecond);
// 使得速度不会因为图片的数量改变
index = index % (uvAnimationTileX * uvAnimationTileY);
// 单张图片的大小
Vector2 size = new Vector2 (1.0f / uvAnimationTileX, 1.0f / uvAnimationTileY);
// 播放图片(也就是当前图片的行列)
int uIndex = index % uvAnimationTileX;
int vIndex = index / uvAnimationTileX;
// build offset
// 单张图片的位置(单张图片的位置是左下角)
Vector2 offset = new Vector2 (uIndex * size.x, 1.0f - size.y - vIndex * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
}
}
public int uvAnimationTileX = 8; //贴图横排的图片数量
public int uvAnimationTileY = 5; //贴图竖排的图片数量
public float framesPerSecond = 10.0f;//速度
void Update () {
// 控制速度
int index = Mathf.RoundToInt(Time.time * framesPerSecond);
// 使得速度不会因为图片的数量改变
index = index % (uvAnimationTileX * uvAnimationTileY);
// 单张图片的大小
Vector2 size = new Vector2 (1.0f / uvAnimationTileX, 1.0f / uvAnimationTileY);
// 播放图片(也就是当前图片的行列)
int uIndex = index % uvAnimationTileX;
int vIndex = index / uvAnimationTileX;
// build offset
// 单张图片的位置(单张图片的位置是左下角)
Vector2 offset = new Vector2 (uIndex * size.x, 1.0f - size.y - vIndex * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
}
}