需求:按shift+w跑步
打开项目设置
添加一个输入设置,命名为sprint
选择左shift键
在角色蓝图里面,添加冲刺事件图表。
添加刚刚创建的冲刺输入事件
添加一个布尔值sprint
按下之后,sprint是true,松开之后sprint是false。
在小白人的动画蓝图里,增加布尔变量sprint。
如何给布尔变量复制呢?
我们要通过小白人的character里的sprint变量来进行赋值。但是通过这个操作只能获取到pawn,pawn是character的父类,所以pawn看不到character的sprint的变量,所以我们要进行类型转化。
连线
得到character的sprint变量
将character的sprint的变量赋值给蓝图类的sprint的变量。
回到这里,添加running与walk的过度条件。
双击打开
把sprint变量拖进来,为true的时候,进入奔跑节点
再写另一个过度条件
将布尔值进行反向操作,然后赋值,当sprint为false的时候,会从running节点过渡到walk节点。
测试,成功。此时动画播出来了,但是小白人的速度没有提升。
现在简化一下蓝图。(方法二)
直接在小白人的蓝图里,通过mesh组件获得对应的动画蓝图,然后设置动画蓝图内的sprint变量。
转换为纯类型转化
连线
动画蓝图里可以都删了。
为了组织好我们的蓝图,我们可以添加sequence节点,来分流梳理走线。只要一些模块没有强制性的先后顺序,我们就可以使用该节点进行分流。