Unity--贴图动画的实现

来源:互联网 发布:免费阿里云服务器 编辑:程序博客网 时间:2024/05/16 11:05
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));}

原创粉丝点击