【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

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

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

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

相关推荐
技术策划Boring11 小时前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
zhangzhangkeji2 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi91113 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji3 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5
zhangzhangkeji5 天前
UE5线程进阶(3-1):
ue5
zhangzhangkeji5 天前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji6 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji7 天前
UE5线程进阶(1):
ue5
yblackd10 天前
UnrealEngine Win风格 窗口选择打开文件
c++·ue5·虚幻
AI视觉网奇11 天前
ue 推送直播流 推流 linux 实战
笔记·学习·ue5