- var frames : Texture[];
- //声明一个数组,存放贴图,声明后,在inspector会看到一个frames的数组,
- //数组的长度可以自己填,填1,就代表只有1张图,可以把一张texture拖进去,填2就代表2张,以此类推
- var framesPerSecond = 10; //声明fps,每秒播放几帧,影响动画的速度。
- function Update() {
- var index : int = (Time.time * framesPerSecond) % frames.Length;
- //数组的索引,根据时间改变,当前时间乘以fps与总帧数取余,就是播放的当前帧,随着update更新
- renderer.material.mainTexture = frames[index]; //渲染这个贴图
- }
在3dsmax中 用材质球调的 贴图UV偏移动画不可以直接导入Unity的。可以用下面的代码实现:偏移的速度设置scrollSpeed
- var scrollSpeed = 5;
- var countX : int = 4;
- var countY : int = 4;
- private var offsetX = 0.0;
- private var offsetY = 0.0;
- private var singleTexSize;
- function Start() {
- singleTexSize = Vector2(1.0/countX, 1.0/countY);
- renderer.material.mainTextureScale = singleTexSize;
- }
- function Update ()
- {
- var frame = Mathf.Floor(Time.time*scrollSpeed);
- offsetX = frame/countX;
- offsetY = -(frame - frame%countX) /countY / countX;
- renderer.material.SetTextureOffset ("_MainTex", Vector2(offsetX, offsetY));
- }