虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run)

在绝地求生里,人物在基本移动是,wasd慢跑,按shift加速跑,按ctrl是慢速行走状态,不过重要的一点是,现实中人物在往后跑的时候不可能和向前跑一样快,吃鸡里面加速跑只有向前,左前,和右前是加速状态,其余按shift与不按动画和速度是一样的。也就是加速跑的时候只有纵向速度为正才有效。

混合空间如下

虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run)_第1张图片

我们用Speed和Direction参数来调控动画会简单一些,易于实现。Idle:speed=0;walk:speed=150;jog:speed=300;run:speed=600;普通状态下,不输入移动键人物Idle状态,输入wasd就jog,按着shift加速跑,按ctrl就walk,在加速状态下向后移动和不加速状态一致。接下来我们设置run和walk状态Running和Walking。

虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run)_第2张图片

接下来我们根据状态调整最大WalkSpeed

虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run)_第3张图片

讲一下函数实现逻辑,默认加速跑状态会覆改慢走状态。先判断是否处于加速状态,是的话判断纵向速度是否为正,为正则最大速度600,为负说明向后移动,最大速度设为300,这就保证了加速跑状态下,往后移动不会跟向前一样快,而是跟jog下往后慢跑动画速度一样。然后判断是否是walking状态,是就调整为walk的150速度,不是就是正常jog状态300。

然后用tick事件每帧执行函数即可

你可能感兴趣的:(虚幻4FPS吃鸡类游戏开发学习笔记——人物移动及状态切换(Idle,Walk, Jog, Run))