首页 > 其他分享 >2-8. 创建人物跳跃动画

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

时间:2024-02-24 11:55:35浏览次数:30  
标签:动画 连向 状态机 BlendTree 创建 跳跃 JumpLand

人物跳跃的五个阶段

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

使用 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

标签:动画,连向,状态机,BlendTree,创建,跳跃,JumpLand
From: https://www.cnblogs.com/hellozjf/p/18030927

相关文章

  • 在K8S中,能否实现不通过api-Server创建Pod?
    在Kubernetes中,通常Pod的创建和管理是通过APIServer进行的。APIServer是Kubernetes集群的控制平面组件之一,负责处理所有与资源相关的RESTfulAPI请求。然而,理论上讲,可以绕过APIServer直接创建Pod,但这通常不是推荐的做法,因为它可能导致集群状态不一致、管理困难以及其他潜在问题......
  • 在K8S中,如何实现创建多个名为"Linux"的Pod?
    在Kubernetes(K8S)中,创建多个名为"Linux"的Pod并不是通过直接指定相同的Pod名称来实现的,因为每个Pod必须具有唯一的名称。然而,您可以创建多个使用相同模板或配置文件的Pod,这些Pod可以共享类似的标签(label),从而可以通过标签来逻辑上归类为“Linux”类型。例如,如果您想要创建10个运行L......
  • 2-6. 创建人物基本动画
    给帧图片命名添加动画首先需要给Player添加Animator组件然后创建Animations/Player文件夹,并在该文件夹下面添加AnimatorController,起名叫Player然后把Player拖到Animator的Controller上面打开动画状态机Window->Animation->Animator创建Idle动......
  • 2-2. 创建及配置新输入系统
    创建脚本文件夹路径新建PlayerController脚本升级新的输入系统ApiCompatibilityLevel改为.NETFramework,这样可以利用更多的C#特性ActiveInputHandling改为InputSystemPackage(New),这样可以使用新的输入系统。改完之后需要重新Unity然后还要安装新的输入......
  • 阿里云创建实例与购买服务器和公网IP
     写好的项目,在本地跑,别人访问不到,没有公网ip所以需要购买阿里云创建实例与购买服务器和公网IP#购买阿里云服务器#短期或是测试使用,创建按量收费服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上      阿里云服务器是ECS   亚马逊服务器是aw......
  • css 动画
    <divclass="quan-box">逐渐放大消失<div>  /*申明一个div的class用于执行动画*/.quan-box{opacity:0;background:#70D97C;position:absolute;//3秒执行完成quan动画,infinite动画会无限次重复播放,steps(40)表示将整个动画过程分割成40个......
  • 设计模式创建型之原型模式
    实验介绍本实验主要为大家介绍了前端中原型模式,为了加深大家对原型的了解,实验中花费大量篇幅讲解了原型及原型的概念,并配上了相关的例子以帮助大家学习。随后我们对class进行了简单的介绍,它可以被简单的认为是语法糖。最后,为了帮助大家理解原型中的克隆,实验也对浅拷贝与深拷贝......
  • 设计模式创建型之工厂模式
    基本概念在给出工厂模式的定义之前,不妨先来了解一下工厂的概念。通过百度百科查到的所谓工厂的定义:是一类用以生产货物的大型工业建筑物,即我们为工厂输送原料,经过工厂对原料进行处理加工之后会输出产物。例如下面这样一个例子:张三是一名大学生,毕业后为了上班方便就考虑买一台......
  • 设计模式创建型之单例模式
    实验介绍本实验主要介绍了设计模式中的单例模式,在前端领域中,有很多地方都运用到了单例模式的思维,例如目前的主流前端框架中所用到的Redux和Vuex。实验首先通过一个小例子为大家展示了单例模式的实现原理,随后通过完成一个自定义的Storage存储器来帮助大家加深对单例模式的理......
  • 【Python&GIS】Python线矢量等距离取点/线等分取点&点创建矢量面
    ​        不多说,这是之前项目需求的代码,已经是去年的了一直没来的及发,今天抽出来一丢丢的空挡发一下。主要就是利用线矢量等距离生成点矢量,或者直接将线矢量等分生成点矢量,这个需求其实极限一下就是线转点了(将距离设置小一点)。顺便将点生成矩形面的代码也给出来,这里的......