Unity实现序列帧动画主要有两种方式,一个是通过Unity自带的Animation进行制作,二是根据序列帧动画原理通过代码按固定帧率切换显示的图片即可实现序列帧动画效果。
资源导入
序列帧图片资源可以是单帧的图片也可以将所有的序列帧图片放到一张图片上
导入到Unity工程后通过SpriteEditor进行拆分
使用Animation实现
将拆分后的SpriteFrame选中后拖入到Hierarchy窗口,如下图:
代码实现
参见: GitHub
总结
在Unity里实现序列帧动画基本上就上述两种方式,
第一种方式
优点:
- 完全使用的是Unity的动画系统工作流程统一;
缺点:
- 只能使用SpriteRender进行渲染,如果要用UI的Image或RawImage进行渲染则动画需要手动在Animation里Key帧(也可以写工具自动Key帧)
- 只能使用Animator不能是用Animation组件(不知道是不是bug,本机系统mac os Unity版本2019.3.4f)即使将动画改为老版的模式也不行
第二种方式
优点:
- 更灵活可以使用所有渲染组件
缺点:
- 每一帧都需要手动指定,当然可以通过规定命名规则通过工具自动完成