2-8. 创建人物跳跃动画

人物跳跃的五个阶段

根据这张图把图片切好,并做好动画状态

使用 BlendTree 实现跳跃动画

在动画状态机中新建一个 BlendTree,然后给它添加三个 Motion

因为我设置的 JumpForce 是 5,所以人物速度54时候是起跳阶段,41的时候是上升阶段,1~-1的时候是空中换腿阶段,-1以后是下降阶段。虽然感觉最高点的时候脚好像有点乱动,但是暂时先这样算了

另外需要注意一下,Blend Tree 中人物的动画是由 Y 轴的速度决定的,所以需要 velocityY,并从代码中将这个值传递进来

动画状态机切换状态

设置好 BlendTree 之后,就是给动画状态机进行连线了。

Any State 连向 Jump,条件是 isGround = false,这样跳跃可以打断任何动作

Jump 连向 JumpLand,条件是 isGround = true

JumpLand 连向 Idle,只要当前 X 轴没有速度,那么 JumpLand 动画播放完毕之后就要进入到 Idle 状态

JumpLand 连向 Exit,只要当前 X 轴有速度,那么就要快速退出动画,让动画状态机根据当前 X 轴的值快速选择一个正确的状态,避免跑步时跳跃也有一个下蹲动画

这里再强调一下连线的一些参数

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240224_1134

posted @ 2024-02-24 11:52  hellozjf  阅读(106)  评论(0)    收藏  举报