【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",取消勾选可视。

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

此时效果如下

相关推荐
zhangzhangkeji9 小时前
UE5 C++(14-1):UPROPERTY 宏、属性说明符和元数据说明符, visible,edit,Blueprint读写,Category 存储目录
ue5
Zhichao_9714 小时前
【UE5.3 C++】ARPG游戏 05-准备角色攻击的武器和动画
游戏·ue5
zhangzhangkeji17 小时前
UE5 C++(15-3):UFUNCTION 的 meta 元数据, DisplayName ,同 UPROPERTY 的 meta
ue5
夜色。21 小时前
UE5 Error LNK2019 编译异常修复备忘
ue5
陈友松2 天前
UE5 表格文件动态导入导出插件
ue5
zhangzhangkeji2 天前
UE5 C++(17):结构体,USTRUCT(BlueprintType) struct FmyStruct ,必须用 F 开头
ue5
碎梦人2 天前
基于UE5开发的pico大空间项目开发之虚拟坐标系与真实坐标系的对应关系
ue5·lbe·大空间坐标系对应关系
zhangzhangkeji2 天前
UE5 C++(16):枚举 UENUM,UENUM(BlueprintType) 使其成为蓝图里的类型。模板类 TEnumAsByte<enum 类型>
ue5
zhangzhangkeji2 天前
UE5 C++(UObject 的实例化 19-2):UObject 类的继承关系
ue5
妙为3 天前
Unreal Engine5报错:Expected WarriorDebugHelper.h to be first header included.
ue5·虚幻·编译错误