在unity有时候需要使用UV动画,代码如下
using UnityEngine;
using System.Collections;
public class UVAnimation : MonoBehaviour {
public int ScrollSpeed = 5;
public int countX = 1;
public int countY = 2;
private float offsetX = 0.0f;
private float offsetY = 0.0f;
// private GameObject singleTexSize;
// Use this for initialization
void Start () {
float x_1 = 1.0f / countX;
float y_1 = 1.0f / countY;
renderer.material.mainTextureScale = new Vector2(x_1,y_1);
}
// Update is called once per frame
void Update () {
float frame = Mathf.Floor(Time.time * ScrollSpeed);
offsetX = frame / countX;
offsetY = -(frame - frame % countX) / countY / countX;
renderer.material.SetTextureOffset("_MainTex", new Vector2(offsetX, offsetY));
}
}