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 @   hellozjf  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示