在Unity中,动画主要有有三种类型:
1.序列帧动画:通过快速播放一系列图片产生动画的效果,类似于 Gif一样
2.关节动画:把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一 个整体的动画,角色比较灵活
3.骨骼动画:应用最广泛的动画,结合上面两种动画形式,内部骨骼,外部蒙皮。
在我实际开发中,最常用的就是序列帧和骨骼动画了

序列帧:

直接给New Sprite赋予如下脚本。实质上在控制哪个毫秒,精灵New Sprite上放的是那张图片而已。这里没有使用Update()这个父进程去播放动画,利用一个协程对应一个GIF的控制,我认为更合适。

这里唯一一个注意点是,大家可以看到,原来GIF只有46帧,序列帧大图是按8x8共64帧来配置的,所以注意会有空白,因此,在协程中要求播到46帧,则马上从0开始。

在协程中,停顿时间为1/fps秒,fps为刷新频率,也就是帧数,原始游戏是30,高清时代是60,现在貌似去到75,这个自己定好就行。

实质上本程序来来去去都是spriteRenderer.sprite = sprites[i];控制当前是数组那个元素而已

using UnityEngine;
using System.Collections;
public class AnimationController : MonoBehaviour
{private Coroutine AnimationPlay;//播放协程private Sprite[] sprites;//被切割的序列图数组private SpriteRenderer spriteRenderer;//精灵控制器void Start(){sprites = Resources.LoadAll<Sprite>("aa");//载入资源aa.pngspriteRenderer = GetComponent<SpriteRenderer>() as SpriteRenderer;//这东西在精灵身上自带的,直接拿就行}void Update(){}//按钮动作public void PlayButtonOnClick(){AnimationPlay = StartCoroutine(AnimationPlayThread(30));}public void StopButtonOnClick(){StopCoroutine(AnimationPlay);}//实质在控制什么时候在精灵上放那张被切割的小图而已IEnumerator AnimationPlayThread(float fps){int i = 0;while (true){if (i < 46){spriteRenderer.sprite = sprites[i];i++;}else{i = 0;}yield return new WaitForSeconds(1 / fps);}}
}

Unity常用的动画类型相关推荐

  1. Unity 3D Generic动画类型,对于应用RootMotion的设置

      对于一些动作模型,美工大大在制作时就已经添加好了动作的位移量,Unity3D的Mecanim动画系统可以直接复用3DS MAX中制作的动画文件中的位移.对于humanoid类型的动画,通过勾选an ...

  2. 【Unity3D】资源文件 ① ( Unity 中常用的文件类型 | Unity 文件操作 | 文件系统中查看文件 | 添加文件 | 删除文件 | 导入文件 | 复制文件 | 缩略图显示 )

    文章目录 一.Unity 中常用的文件类型 二.Unity 文件操作 1.文件系统中查看文件 2.添加目录 / 文件 3.删除目录 / 文件 4.导入资源 5.复制资源 6.缩略图显示 7.meta ...

  3. unity基础学习九,Unity常用API

    1.Event Function:事件函数 Reset() :被附加脚本时.在游戏物体的组件上按Reset时会触发该事件函数 Start() :在游戏初始化时会执行一次 Update() :每一帧都会 ...

  4. unity重定向_动画重定向技术分析和Unity中的应用

    0. 前言 新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,也基于自己的理解在公司自研的手游引擎 ...

  5. Unity中的动画系统和Timeline——笔记

    前言: 最近开始跟着SIKI学院系统学习Unity,这篇文章就是Unity中的动画系统和Timeline的笔记 动画 动画的录制和动画曲线的编辑 以前我都是在动画中一步一步来做动画,从来不知道还有这个 ...

  6. unity重定向_动画重定向技术分析及其在Unity中的应用

    前言 笔者新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.笔者之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,并基于自己的理解,在公司自研的手游 ...

  7. Unity 常用组件使用总结

    Unity 常用组件使用总结 一.摄像机 Camera: 1.Clear Flag 清除标志:决定屏幕的那部分将被清除.当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的. 2.Back gro ...

  8. Unity中的动画系统

    学习动画系统过程中的一些笔记 概述 Unity 的动画系统基于动画剪辑(Animation Clips)的概念,每个动画剪辑可以被认为是一个单一的线性记录,由动画状态机(Animator Contro ...

  9. 关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

    对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪 ...

最新文章

  1. linux php任务计划,Linux--PHP脚本的计划任务
  2. 将 iPhone 定位设置在法国,手机速度就能迅速提升?
  3. 将之前写完的猜数字游戏改为通过javabean_有了这些互动小游戏,知识竞赛更精彩了...
  4. Python中值传递和引用传递区别
  5. 高手不得不知的Java集合List的细节
  6. Oracle grant connect, resource to user语句中的权限
  7. 啦啦外卖43.5学习研究开发
  8. python 报错 TypeError: tuple indices must be integers or slices, not tuple
  9. wordpress图像大小_为WordPress优化图像
  10. 不同IP网段的PLC进行S7通信(PUT_GET)的具体步骤
  11. 哪一个属于计算机外存储器,下边哪一个属于计算机的外存储器()
  12. 什么是 OOD/OOP ?
  13. 如何判断THIS指向?
  14. 数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建
  15. DolphinDB 助力 WILLIAM O’NEIL 笑傲股市
  16. Java面试资料个人整理
  17. opencv在电脑屏幕上画_用Python+OpenCV让电脑帮你玩微信跳一跳
  18. Altium Designer 20 如何快速给不规则板框铺铜的方法,超级简单操作!
  19. Array.isArray() 判断是不是数组
  20. 使用Mybatis联表查询的几种方式

热门文章

  1. 【PyTorch】PyTorch搭建基础VGG16网络
  2. caa catia 视图缩放_CATIA_CAA V5R19教程
  3. Fast Video Downloader(电脑网页视频下载软件)官方中文版V4.0.0.17
  4. OPENCV CvMat的使用
  5. Verilog实现八人抢答器
  6. Python实现Plugin
  7. 使用Jexus实现ASP.NET在Linux平台下的部署
  8. ffmpeg 被否决的版本冲突
  9. Check failed: 0 == bottom[0]-count() % explicit_count (0 vs. 76) bottom count (160600) must be divi
  10. 2017年第一天这些法规正式实施!关乎你的生活