2-14 朝向鼠标、怪物死亡、状态机、纯函数_哔哩哔哩_bilibili
目录
1.朝向鼠标攻击
2. 状态机补充
2.1导入素材编辑
2.2移动跳跃。
2.3实现待机/跑
1.朝向鼠标攻击
之前我们设置了角色移动时,将自动朝向移动的方向
我们需要再攻击时,先将这个关闭掉
随后获取光标的朝向,并只将yaw设置为角色的朝向,然后播放动画,并设置攻击完毕,恢复将朝向运动方向的设置
2. 状态机补充
因为视频原作者讲到了状态机部分,且该2D案例并不适合应用讲解状态机,下面用一个3D世界的教程讲一下状态机的入门。原视频地址:UE5游戏开发基础教学第五课(下)——动画蓝图、状态机_哔哩哔哩_bilibili
2.1导入素材
创建character
利用UE5自带的第三人称模板,实现Charactor的移动和跳跃,直接将UE5自带的第三人称模板中的移动逻辑,复制到我们新建的BP_Hero中
然后创建动画蓝图,并保存下列的动画序列
然后创建角色的动画蓝图。
2.2移动跳跃。
新建状态机命名为移动跳跃
移动跳跃中包含两个状态,分别时待机/跑,跳跃
双击条件转移的箭头,将Can Enter Transition拉出来,提升为变量 isAir,意思为当角色在空中时候将待机/跑-->跳跃状态
随后在动画蓝图更新时,获取角色是否在空中,并更新isAir变量
同理,当角色不在空中时,从跳跃-->待机/跑。
2.3实现待机/跑
双击进入待机/跑的节点
使用1D混合空间,很容易是心啊待机和跑的动画,并输出。
2.4实现跳跃状态
双击进入jump节点
由于跳跃状态分为,起跳,滞空,落地,回复待机状态,多个阶段,需要在这个节点中嵌套使用状态机。
并按照,起跳,滞空,落地,回复待机状态的顺序创建多个状态
其中绿色箭头为自然过渡,红色箭头由isAir来判断
isAir来判断是否从状态air-->land
自然过渡,可以通过设置基于状态序列播放器的自动规则实现。
下面分别时start air land recover的蓝图逻辑
start节点中的蓝图逻辑
air中的蓝图逻辑
land中的蓝图逻辑
recover中的蓝图逻辑