2D动画

基本概念

animator 动画编辑器

animation 每个动作,每个动作是一个状态,可以导入多张图片作为多个帧组成一个动作。

帧动画和骨骼动画

动画有两种实现形式。

序列帧动画就是多张图片,每一帧都是角色特定姿势的一个快照,图片越多越细致,帧数越多越流畅。

骨骼动画是把各个部位拆解,通过骨骼控制各部位移动,使用差值算法计算中间帧,能让动画总是保持流畅的效果。而且一般来说需要的图片资源也少,最后游戏包能小一些,但表现效果和运行效率上会差一点。

一般情况下, 人物动作用骨骼动画, 技能特效用序列帧动画.

行走控制动画转变

方向和速度控制人物状态

踩坑

这个解决方案参考了:https://www.cxymm.net/article/jk_chen_acmer/106960968arrow-up-right

但是作者最后对方向的判断使用的是 ==1

使用 Input.GetAxis() 返回的是浮点数,这样往右走完总会走进 else循环,设置LookLeft=true ,使得人物总是面朝左边。

如上改过后就没有这个问题了。

附上GetAxis的细节:

参考:

https://clay-atlas.com/blog/2021/07/03/unity-cn-player-animator-animation/arrow-up-right

BlendTree 混合动画

更方便的制作动画

最后更新于