Unity项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)
翻滚以及跳跃操作改动
黑魂游戏中,翻滚的触发条件: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项目-黑魂复刻(四)玩家控制器(翻滚以及跳跃操作改动)相关推荐
- Unity项目-黑魂复刻(二)玩家控制器(跳跃)
跳跃信号 要实现跳跃,首先要实现跳跃的输入.跳跃信号是按下的当场触发的一次性触发控制(Trigger Once Signal),这个信号转化为编程语言就是bool值,通过控制真还是假判定是否按下跳跃键 ...
- Unity项目-黑魂复刻(三)玩家控制器(跳跃)
新增跳落动画 在jump动画播放完后过渡到下落动画,之后再跳回地面动画,需要注意回去的顺序,Exit Time越短就先回去 新增落地侦查器 解决落地之前都是fail动画的问题,而不是fail落地动画播 ...
- Unity黑魂复刻经典教程心得(三)-CameraController
CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...
- 【Mib自看】黑魂复刻Unity脚本
[课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...
- Unity黑魂复刻经典教程心得(一)
b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55
- 黑魂复刻游戏的玩家控制器(基础移动,动画实现及优化)——Unity随手记(2021.3.15)
文章目录 今天实现的内容: 动画机设计理念 动画机的运用及模型旋转 玩家角色的位移 爬坡测试 跑步 旋转的优化 跑步动画的优化 BUG以及缺陷: 值得注意的: 今天实现的内容: 动画机设计理念 要我说 ...
- 黑魂复刻游戏的玩家控制器(翻滚及跳跃的重新设计)——Unity随手记(2021.3.31)
文章目录 今天实现的内容: 翻滚和跳跃的重新设计 翻滚动画及触发逻辑 翻滚的向前冲量 跳跃并向前翻滚 BUG以及缺陷: 值得注意的: 今天实现的内容: 翻滚和跳跃的重新设计 按照黑魂游戏的设计,跳跃其 ...
- 黑魂复刻游戏的碰撞摩擦问题——Unity随手记(2021.4.27)
文章目录 前言 今天实现的内容: 角色跳起来时的卡墙问题描述 修改物理材质方案 修改m_planarVec方案 BUG以及缺陷: 值得注意的: 前言 本篇博客旨在解决黑魂like游戏开发时遇到的一个问 ...
- 黑魂复刻游戏的玩家输入模块——Unity随手记(2021.3.14)
文章目录 前言 今天实现的内容: 按键封装 获取输入及输入信号优化 输入的渐变 模块的软开关 处理输入 BUG以及缺陷: 值得注意的: 前言 好久不见,在接下来的Unity随手记里,我会学着B站上的视 ...
最新文章
- .9-Vue源码之AST(5)
- android Listview2 笔记
- mysql 列换行 表设计 设计_MySql行转列、列转行
- [CF]Codeforces Round #546 (Div. 2)
- powershell如何ping
- linux 打开 protel文件格式,Protel快捷键大全
- 我的世界1.14java原版命令_我的世界:老一辈mc是怎么生存的?鱼骨式挖矿,这些套路你知道吗...
- Android开发学习——基础学习
- 单片机牛人的学习经历
- 阿里规范说MySQL单表行数不要超过2000w,为啥?
- String的intern()方法浅析
- 固态硬盘开盘数据恢复的方法
- [SDOI 2015] 星际战争
- 如何设置lazada促销活动--Flash Sale
- 【Eclipse报错】Faceted Project Problem:Target runtime Apache Tomcat v8.0 is not defined.
- 一个变量命名神器:支持中文转变量名
- python 用pandas读取excel并画图
- OOV问题-论文笔记《Neural Machine Translation of Rare Words with Subwords Units》- ACL2016
- 这篇Docker的网络通信与数据共享文章看不懂你来打我吧
- 大二Web课程设计期末考试——基于HTML+CSS+JavaScript+jQuery电商类化妆品购物商城