【UE5.1 角色练习】13-枪械射击——拿出与收起武器

目录

效果

步骤

一、安装射击武器

二、拿武器和收武器


效果

步骤

一、安装射击武器

  1. 在虚幻商城中将"FPS Weapon Bundle"添加到工程中,由于我们使用的是5.1版本,我们可以先将该资产放入UE4工程中,然后迁移到5.1版本的工程
  1. 打开角色蓝图"BP_ThirdPersonCharacter"

添加一个骨骼网格体组件

这里命名为"Weapon_Gun"

父项套接字选择"hand_r"

我们为该骨骼网格体选择一个骨骼网格体资产,这里选择"SK_AR4"。可以看到武器的位置有点问题

调整一下变换

二、拿武器和收武器

  1. 打开项目设置,添加一个操作映射
  1. 在"AnimStarterPack"资源包中找到人物掏出武器的动画"Equip_Rifle_Standing"

使用IK重定向器导出选定动画资源

  1. 打开角色动画蓝图"ABP_Manny"

添加一个状态,这里命名为"EquipRifle"

添加一个布尔类型变量"IsEquipingRifle",用于表示当前是否正在拿出枪械

添加过渡规则

双击进入"EquipRifle"

添加动画输出姿势为"Equip_Rifle_Standing"

我们可以在动画预览编辑器中勾选"IsEquipingRifle"来预览角色的动画姿势

当角色拿出枪之后应该进入到拿枪的待机状态

在动画图表中添加一个状态,这里命名为"IdleRifle",用于表示角色拿着枪的待机状态

添加一个布尔类型变量,这里命名为"IsEquipedRifle",用于表示角色是否已经拿好枪械

添加过渡规则

接下来我们需要一个角色射击的待机动画。

  1. 在"AnimStarterPack"资源包中找到动画序列"Idle_Rifle_Hip",该动画就是角色射击状态的待机动画

通过IK重定向器导出适配角色的动画序列

  1. 回到角色动画蓝图中,将上一步导出的动画序列作为状态"IdleRifle"的输出动画姿势

可以在动画预览编辑器中勾选如下两个变量,来预览此时角色是否处于射击的待机状态

  1. 打开角色蓝图,添加如下节点

此时我们就能切换角色是否处于射击状态,效果如下

在默认状态下角色应该没有枪,因此我们应该设置枪默认不显示。选中组件"Weapon_Gun",取消勾选可视。

在玩家切换射击状态时切换武器的可视性

此时效果如下

相关推荐
zhangzhangkeji12 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
妙为12 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
技术策划Boring13 天前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
zhangzhangkeji15 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi911116 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji16 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5
zhangzhangkeji18 天前
UE5线程进阶(3-1):
ue5
zhangzhangkeji18 天前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji19 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji20 天前
UE5线程进阶(1):
ue5