【UE5.1 角色练习】14-枪械射击——实现移动射击状态

效果

步骤

  1. 找到"AnimStarterPack"资源包中的如下4个动画序列,分别表示角色射击状态下的前进、后退、向左走、向右走的动作。
  1. 通过IK重定向器将这4个动画序列重定向给我们的角色
  1. 打开动画蓝图,创建一个混合空间资产

这里命名为"BS_IdleRifle"

打开"BS_IdleRifle",设置水平坐标用于控制方向,垂直坐标用于控制速度,方向在-180~180之间,速度在-600~600之间

向前走的动画放在(0,600),向后走的放在(0,-600)

再次将向后走的动画放在(-180,600)和(180,600)

将向前走的动画放在(-180,-600)和(180,-600)

将向左跑的动画放在(-90,600)和(-90,-600);

将向右跑的动画放在(90,600)和(90,-600);

  1. 在动画蓝图中添加一个状态,这里命名为"RunRifle"

双击进入状态"RunRifle",将混合空间"BS_IdleRifle"作为输出动画姿势

由于我们已经有了变量"GroundSpeed"用于记录角色的移动速度,因此这里我们只需再创建一个浮点类型变量来表示角色的方向,这里命名变量"Direction"

将变量"Direction"、"GroundSpeed"作为混合空间的输入

在动画蓝图的事件图表中设置"Direction"值

下面需要在动画图表中的设置从站立射击状态到移动射击状态的过渡规则

当角色移动速度超过10就认为转为移动射击状态

当速度小于10就认为回到站立射击状态

此时运行效果如下,可以看到当我们控制角色移动时角色也能处于移动射击的状态

  1. 打开角色蓝图,如果我们希望在进入射击状态后视角能够随着角色的旋转而旋转,我们可以在进入射击状态后设置"Orient Rotation to Movement"为False

然后我们可以设置进入射击状态后不显示鼠标

选中角色移动组件,勾选"使用控制器所需的旋转"

此时运行可以看到角色在进入射击状态后,玩家能够通过鼠标来控制角色的朝向,效果如下

相关推荐
曼巴UE519 小时前
Unlua 官方案例
c++·ue5·lua·ue
zhangzhangkeji20 小时前
(29)UGameInstance 、UGameInstanceSubsystem 与 UGameState 的区别,一言
ue5
电子云与长程纠缠6 天前
UE5 两种方式实现蓝图编辑器下Tick
ue5
netcy6 天前
UE5 小部件 组合框(键)ComboBox (Key)
ue5
二DUAN帝8 天前
态势仿真推演系统 AFSIM+UE 架构选型
qt·ue5·afsim
maplewen.9 天前
【UE】GAS Gameplay Ability
ue5
帅_shuai_9 天前
UE5.6 Slate独立程序——初始化空白Slate环境
ue5
吴梓穆9 天前
UE5 c++ 模板函数
java·c++·ue5
吴梓穆9 天前
UE5 c++ 暴露变量和方法给蓝图
java·c++·ue5
混迹中的咸鱼9 天前
UE5 网络联机常用命令
网络·ue5