又学了几天,前面记录了如何使用蓝图实现开关门,这次来实现一下角色的冲刺、瞬移的操作
一般玩游戏的时候,可能都会有按左shift键让角色从行走变成奔跑的状态,又或者双击回避键角色瞬移躲避等操作
那就先实现一下加速奔跑吧,这里是使用的UE4自带的ThirdPersonCharactor蓝图类实现的
ThirdPersonCharactor中控制奔跑速度的变量是MaxWalkSpeed,所以就可以通过按键改变这个值,从而达到一个冲刺的效果
首先减小默认值,使角色变为行走
新建一个事件图表,叫做冲刺瞬移,首先是添加输入按键,这里我用的Q键,输入的时候改变MaxWalkSpeed为1200,松开按键变回200。这里要把角色移动的组件拖进来,不然无法设置
这样就实现了冲刺的效果,按住Q键,加速奔跑
然后我们再实现双击Q键让角色进行瞬移
这就需要用到一个变量来记录按键次数,同时松开按键的时候需要给一个延迟将该次数清零,即必须在这个时间内双击才算有效
这里我用了一个PressTimes的整数变量来保存按Q键的次数,++即给PressTimes+1再把结果设置给PressTimes。
松开按键之后,有一个0.2秒的延迟,再把PressTimes清零
每次按键判断PressTimes是否大于等于2,如果条件成立,这进行瞬移的操作
这里还是用了一个时间轴,让角色在0.2秒完成瞬移,同时要用到插值,所以时间轴就是0-1
瞬移的起点则是当前角色的位置,终点则是角色向前位移一定距离的位置
那么插值的A:角色当前位置
插值B:角色向前的向量* 600 + 角色当前位置
这样就有了起点和终点,通过时间轴在0.2秒内完成