翻滚以及跳跃操作改动

黑魂游戏中,翻滚的触发条件:1.走路按跳跃键 2.助跑按跳跃键 3.高处掉落
所以之前的跳跃键需要改成翻滚键

  • 翻滚动画以及触发逻辑:

注意:由于翻滚的动画会出现y方向的根tranform位移,我们需要bake into pose,可以参考下面的链接
如何做好角色的移动动画?(Root Motion详解)
https://zhuanlan.zhihu.com/p/151387595

添加roll动画,过渡条件分为两种情况
第一种情况:正常走路按下跳跃键(翻滚键),直接中ground->roll,条件是触发roll(按下j键)
第二种情况:加速按下跳跃键(翻滚键),触发条件是ground->jump->fall->roll->ground或者ground->jump->roll->ground
第三种情况:自然下落,触发条件sGround 为 false

需要调整ground过渡的优先级:自然降落先,再到冲刺翻滚,最后是正常翻滚
配合roll和jump的相关代码,优先级如下。

roll和jump的相关代码如下,首先是roll的时候需要和之前的jump一样将输入关闭,平面移动锁死。

 // 进入动画节点roll时执行的方法 通过PlayerController动画机中的roll节点上挂载的FSMOnEnter调用void OnRollEnter() {// 关闭输入并且锁定平面移动Disable_Move();}

翻滚的向前速度
翻滚时锁死了平面移动,我们就需要一个翻滚的速度来让动画显得不那么奇怪(位移和动画不匹配)。思路:我们要在锁死平面前根据上一帧的速度量乘以一个向前的滚动速度,有助于玩家体验到不同的速度有不同的滚动速度

 // 进入动画节点roll时执行的方法 通过PlayerController动画机中的roll节点上挂载的FSMOnEnter调用void OnRollEnter() {// 关闭输入并且锁定平面移动Disable_Move();// 翻滚向前的位移planarVec = planarVec+model.transform.forward *rollVelocity;}

Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)相关推荐

  1. Unity项目-黑魂复刻(二)玩家控制器(跳跃)

    跳跃信号 要实现跳跃,首先要实现跳跃的输入.跳跃信号是按下的当场触发的一次性触发控制(Trigger Once Signal),这个信号转化为编程语言就是bool值,通过控制真还是假判定是否按下跳跃键 ...

  2. Unity项目-黑魂复刻(三)玩家控制器(跳跃)

    新增跳落动画 在jump动画播放完后过渡到下落动画,之后再跳回地面动画,需要注意回去的顺序,Exit Time越短就先回去 新增落地侦查器 解决落地之前都是fail动画的问题,而不是fail落地动画播 ...

  3. Unity黑魂复刻经典教程心得(三)-CameraController

    CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...

  4. 【Mib自看】黑魂复刻Unity脚本

    [课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...

  5. Unity黑魂复刻经典教程心得(一)

    b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55

  6. 黑魂复刻游戏的玩家控制器(基础移动,动画实现及优化)——Unity随手记(2021.3.15)

    文章目录 今天实现的内容: 动画机设计理念 动画机的运用及模型旋转 玩家角色的位移 爬坡测试 跑步 旋转的优化 跑步动画的优化 BUG以及缺陷: 值得注意的: 今天实现的内容: 动画机设计理念 要我说 ...

  7. 黑魂复刻游戏的玩家控制器(翻滚及跳跃的重新设计)——Unity随手记(2021.3.31)

    文章目录 今天实现的内容: 翻滚和跳跃的重新设计 翻滚动画及触发逻辑 翻滚的向前冲量 跳跃并向前翻滚 BUG以及缺陷: 值得注意的: 今天实现的内容: 翻滚和跳跃的重新设计 按照黑魂游戏的设计,跳跃其 ...

  8. 黑魂复刻游戏的碰撞摩擦问题——Unity随手记(2021.4.27)

    文章目录 前言 今天实现的内容: 角色跳起来时的卡墙问题描述 修改物理材质方案 修改m_planarVec方案 BUG以及缺陷: 值得注意的: 前言 本篇博客旨在解决黑魂like游戏开发时遇到的一个问 ...

  9. 黑魂复刻游戏的玩家输入模块——Unity随手记(2021.3.14)

    文章目录 前言 今天实现的内容: 按键封装 获取输入及输入信号优化 输入的渐变 模块的软开关 处理输入 BUG以及缺陷: 值得注意的: 前言 好久不见,在接下来的Unity随手记里,我会学着B站上的视 ...

最新文章

  1. .9-Vue源码之AST(5)
  2. android Listview2 笔记
  3. mysql 列换行 表设计 设计_MySql行转列、列转行
  4. [CF]Codeforces Round #546 (Div. 2)
  5. powershell如何ping
  6. linux 打开 protel文件格式,Protel快捷键大全
  7. 我的世界1.14java原版命令_我的世界:老一辈mc是怎么生存的?鱼骨式挖矿,这些套路你知道吗...
  8. Android开发学习——基础学习
  9. 单片机牛人的学习经历
  10. 阿里规范说MySQL单表行数不要超过2000w,为啥?
  11. String的intern()方法浅析
  12. 固态硬盘开盘数据恢复的方法
  13. [SDOI 2015] 星际战争
  14. 如何设置lazada促销活动--Flash Sale
  15. 【Eclipse报错】Faceted Project Problem:Target runtime Apache Tomcat v8.0 is not defined.
  16. 一个变量命名神器:支持中文转变量名
  17. python 用pandas读取excel并画图
  18. OOV问题-论文笔记《Neural Machine Translation of Rare Words with Subwords Units》- ACL2016
  19. 这篇Docker的网络通信与数据共享文章看不懂你来打我吧
  20. 大二Web课程设计期末考试——基于HTML+CSS+JavaScript+jQuery电商类化妆品购物商城

热门文章

  1. excel2007计算机试题,巧用excel2007/2003进行拍照
  2. 联想M490原装Win8系统改Win7系统的血泪史
  3. c++数据结构小助手 : 可视化树与图工具
  4. 如何制作商场超市地摊清仓大甩卖广告语录音
  5. 计算机网络6 应用层
  6. 换个好看舒服的jupter notebook风格
  7. Spring注解开发学习笔记
  8. redis之可视化工具
  9. Graph Embedding模型【Node2Vec】学习笔记
  10. 华为机试 16进制转换成十进制