https://www.yuque.com/chenweilin-tryw7/rgw7vi/mnemuq
按键事件触发播放翻滚蒙太奇,调整姿态,是蹲伏还是站立。如果是站立需要蹲下再翻再起来 void ACwlAlsCharacterBase::OnRoll() { GetMyAnimInstance()->Montage_Play(GetRollMontage(), 1.13f); if (GetCurStance() == ECwlAlsStance::Standing) { DesiredS…
蹲伏和站立姿态的切换。 第一步是这样,蹲伏和站立的初始状态 然后开始加蹲伏与站立状态之间的切换 然后改成这样,前半段条件是stance的枚举 后半段是动画播放完毕, 注意切换播放速度是1.2,循环动画要去掉 然后如果我们蹲下马上切换站立,它会把蹲下过度播放完再起来,不太行 另一个问题是移动中蹲下会滑步 对于滑步的问题 如果运动中有移动,旋转,那么就取消播完动画再结束的条件。直接结束 然后是这一段也…
这一部分主要处理的是,前面我们有站立状态的八向运动,站立状态的静止和运动状态机。我们需要处理出蹲伏的版本。 老笔记 https://www.yuque.com/chenweilin-tryw7/rgw7vi/rnsmup
原地旋转 效果是,角色在静止的时候,并且是瞄准状态下。视角移动,角色会触发一个踏步动作然后旋转。 在Tick中如果是瞄准状态下 CanRotateInPlace() == true 触发RotateInPlaceCheck void UCwlBaseAnimIns::UpdateGroundValues() { bShouldMove = CheckCanMove(); if (IsFromSto…
滑步问题主要指角色移动动画在播放的时候,角色位置已经固定了。给玩家的表现就是滑步。 一般快速反复切换按移动停止能比较明显,具体为比如PC,按下W马上松开,反复重复。角色会在IDLE状态往前滑。 但是由于角色有摩檫力参数,也滑不了多少。还可以让移动和静止动画混合的快一点。看游戏类型有没有必要处理了。玩家可能也不在乎。 另一种处理方式-距离匹配 举例Lyra的一个例子。首先UE5提供了Animatio…
开篇 "task is cheap show me the code" 仓库地址:https://gitee.com/weilin3101/JustMakeGame 【笔记开源,项目不开源】 这是一个我自己的项目的运动系统部分笔记。预计包括基础运动Locotmoion和,其他运动比如攀爬,飞行等。 这个项目重构了我的上一次 ALSv4的复刻项目。过一遍全部功能修一遍bug,把上…
动画蓝图架构 Start, Stop, Idle, Cycle 四个状态 在基础状态机搭建起来后主要是这四个状态。 Start 同步组 Locomotion。两个事件,动画序列和序列时间动态。需要处理距离匹配 Idle Cycle 同步组跟随start为Locomotion。动态设置sequence和play rate。距离匹配根据速度调整动画的播放速率 Stop 同不组的单独的Stop。动画和,…