人物跳跃的五个阶段
根据这张图把图片切好,并做好动画状态
使用 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
标签:动画,连向,状态机,BlendTree,创建,跳跃,JumpLand From: https://www.cnblogs.com/hellozjf/p/18030927