·来源于唐老狮的视频教学,仅作记录和感悟记录,方便日后复习或者查找
一、什么是序列帧动画
二、代码制作序列帧动画
思路:只要我们动态地改变Sprite Render中Spirte这个参数即可
那我们就需要先需要在动画中出现的图片
设置好参数与图片切换的逻辑
之后回到场景中运行,就可以看到图片动态切换了起来
但是这样显然还是太麻烦了,不过好在Unity可以让我们更方便地在Animation中制作这样的序列帧动画
三、Animation窗口制作序列帧动画
方法一
1.创建一个空物体
2.创建一个动画
3.直接把动画需要的序列帧拖入窗口中
然后可以直接在这里改变帧率来控制每个序列帧之间的间隔
不过一般来说建议先改变帧率,然后再把序列帧拖进去
方法二
直接把图片拖入Hierarchy层级窗口中
一般是第一次创建这个动画的时候才会用这种方法
直接选中一组序列帧,然后拖入层级窗口中,它就会认为你是要创建序列帧动画了
注意:控制动画帧率,来控制动画的播放速度
四、利用Animator进行动画控制
和之前的3D的动画一样的
比如控制一个有移动,跳跃,待机三个状态的状态机
给它设置相应的条件参数,并加入到连接切换里。
当然还可以这样子,因为我们移动的时候获取输入本来就是一个数值,直接给到这里来判断也是OK的
最后采用的是布尔类型的isOnGround 和 整型的xSpeed去判断
idle和run的切换取决于xSpeed是否等于0
idle和jump的切换取决于isOnGround是否为假,以及xSpeed是否为0
run和jump的切换取决于isOnGround是否为假,以及xSpeed是否为0
所以,通过简单直观的条件判断,我们状态之间的切换大多还是符合正常人类思考的逻辑的
五、其他
1.无法生成精灵
如果你发现你的序列帧图片使用的时候报了这个警告⚠,而且没办法显示出来
而且没有这种正常的精灵图片显示
那你就先切回Default状态,然后把它Non-Power of 2这个枚举设置为None并应用
之后再切回精灵模式,并应用
它的精灵图片就正常出现,而且也可以在序列帧动画中正常显示啦
2.序列帧的轴心点设置
一般来说把轴心点设置在正下方比较合理。
可以在这里直接重新切片来集体重设轴心点位置
注意:最好先设置好轴心点之后,再来制作动画,不然先做完了,再调整轴心点,可能播放的时候会发现图片不见了,那就又要重新把序列帧拖进去,麻烦的