本文主要是介绍Unity 代码控制播放序列帧动画的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Unity中有些应用场景的动画是通过序列帧实现的。
如下图即为一个英雄攻击的一个动画:
那么如何实现该序列帧动画的播放呢,我们可以通过代码来控制播放。
1、把以上序列帧导入编辑器中,并修改图片属性,如下图所示,其中,Texture Type修改为Sprite(2D and UI),Sprite Mode修改为Single模式,然后点击Apply应用。
2、创建一个Image组件,并把序列帧第一帧赋予Image的Source Image,如下图所示:
3、编写控制脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class SpriteAnimation : MonoBehaviour
{public Sprite[] sprites; // 存储序列帧动画的所有帧public float framesPerSecond = 10.0f; // 每秒播放的帧数public Image image;// Start is called before the first frame updatevoid Start(){StartCoroutine(PlayAnimation());}// Update is called once per framevoid Update(){}IEnumerator PlayAnimation(){while (true){for (int i = 0; i < sprites.Length; i++){image.sprite = sprites[i];yield return new WaitForSeconds(1f / framesPerSecond);}}}
}
4、把控制脚本放置场景中,并把序列帧所有图片拉到sprites数组里面,把Image拉到image变量中,如图所示:
5、完毕,运行。
Unity 代码控制播放序列帧动画的实现
这篇关于Unity 代码控制播放序列帧动画的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!