UE4 RPG游戏实战开发(二):装备武器

您所在的位置:网站首页 用ue4做的游戏 UE4 RPG游戏实战开发(二):装备武器

UE4 RPG游戏实战开发(二):装备武器

2023-05-26 16:30| 来源: 网络整理| 查看: 265

开工啦!2023.1.28 祝大家开工大吉,兔年鸿运启新程。

装备武器(显示)

一开始武器就直接在角色手中,我称之为显示的手持武器。

导入武器素材,可以再UE官方商城中去找免费的武器库,例如无尽之刃的武器 image

打开角色蓝图视口,给角色骨骼再添加一个节点(Skeletal Mesh)取名 Sword(这里名字可以自定义)

image

然后选中 Sword 节点,在右侧的细节面板上找到 Sockets-> Parent Socket -> Right Hand(因为我的角色是右手握住武器的),Mesh 中选择对应的武器骨骼

image

选择角色骨骼并暂停动画,然后调整武器的位置和角度直到合适

image

运行,角色就会手持武器出现在场景中了

image

装备武器(隐式)

上面讲述了如何让玩家一开始就手持武器出现在场景中,接下来,我们来看看如何让角色能够根据玩家按键抽出武器和收回武器。

准备动画

首先得要有抽出武器,收回武器以及手持武器移动的动画,我们还是在 Mixmao 中去下载,具体下载的内容可以在 Mixmao 中搜索 Draw Sword, Sheath Sword, Sword Run, Sword Walk 等关键字,贴出我下载好的动画截图,如下:

image

我把这部分内容的动画分为以下三个部分:抽出武器,手持武器,收回武器,所以需要给动画蓝图添加三个新的状态机,如图:

image

由于这三个状态是一个连贯的过程,所以在状态机中需要用到 Layered blend per bone 来融合,分别是融合抽出武器和手持武器,正常移动和收回武器。

image

手持武器的动画需要创建一个融合动画来制作,这次选择的不是 Blend Space 1D, 而是 Blend Space, 相比较于前者,它多出了一个垂直方向,可以支持横向和纵向的动画,如图:

image

创建好后,命名为 PlayerArmed_BS, 打开后为其添加横向和纵向的动画,参数用红线已经标注:

2222.PNG

抽出武器

由于一开始角色是俩手空空的,在角色手握武器之前得先要有一个拔出武器的动画。添加一个状态 DrawSword, 拖入我们手持武器和抽出武器的动画并用 Layered blend per bone 来融合,其蓝图结构如下:

image

Layered blend per bone 的配置参数如图:

image

Spine 为其骨骼的根节点名称,其他的参数可以自行搜索,这里不做深入。

手持武器

添加一个手持武器的状态,加入动画,这里我做了一个跳跃的判断,用到了 Blend Pose by bool, 如果是跳跃的状态下就用跳跃动画,否则就用手持武器动画,其蓝图如下:

image

收回武器

添加一个收回武器的状态,加入动画,动画需要融合角色正常移动和收回武器的动画,其蓝图和抽出武器类似,Layered blend per bone 的配置也一样:

image

状态过渡

每个状态之间有个过渡过程,例如抽出武器->手持武器->收回武器->正常移动,这里需要加入一些参数来判断,创建一个bool变量 EquipMelee 来判断玩家是否装备了武器, 接下来罗列出各个状态之间的蓝图:

玩家移动->抽出武器

image

抽出武器->手持武器

image

手持武器->收回武器

image

收回武器->角色移动

image

添加事件

由于武器是需要玩家按键后抽出的,所以为其添加一个按键事件,在工程设置中找到 Input, 然后添加事件 DrawSword,映射键盘 Q:

image

打开角色蓝图,添加一个 bool 变量 DrawSword, 构建其蓝图:

image

打开动画蓝图,在这里我们需要给我们之前创建的 EquipMelee 赋值,当按下 Q 后 EquipMelee 的值也会改变,其蓝图如下:

image

到这里,运行编辑器后我们就可以看到角色在按下Q后会有抽出武器和手持武器移动的效果,再按下 Q 键,会收回武器,但是还缺少一把武器,接下来我们就来实现一下给角色加上武器。

添加武器

在角色骨骼上添加一个节点用于展现武器,命名为 WeaponSlot:

屏幕截图 2022-12-29 161046.png

创建一个蓝图类,然后选择 Actor 并命名为 Sword_BP, 打开后为其 Add Component -> Static Mesh, 取名 Sword, 如图:

image

然后配置好武器,并保存:

屏幕截图 2022-12-29 155722.png

打开角色蓝图,添加一个变量 WeaponSword, 类型为 Sword_BP, 选择 Class Reference, 配置好默认值:

image

添加俩个函数 Spawn Gear 和 Destory Gear, 用于创建武器和销毁武器:

image

Spawn Gear 的蓝图结构为:

dede.png

Get Socket Transform 中选择我们之前在骨骼中创建的 WeaponSlot.

Destory Gear 的蓝图结构为:

image

添加消息

Spawn Gear 和 Destory Gear 需要在动画中被调用,打开抽出武器和收回武器的动画,选择在合适的帧上调用这俩函数。

image

在抽出武器的动画中添加 Spawn Gear 消息

951.png

在收回武器的动画中添加 Destory Gear 消息

161046 (1).png

最后, 在角色蓝图动画(PlayerAnmi_BP)中调用这俩个函数:

eee2.png

运行编辑器,按下 Q 键, 角色就会抽出宝剑,宝剑也出现在了角色的手中,再按 Q 键,宝剑就收回去啦!

我是杰少,如果您觉的我写的不错,那请给我 点赞+评论+收藏 后再走哦!

往期文章:

UE4 RPG游戏实战开发(一) UE4 如何用命令行来打包你的游戏 UE4:来为我们的角色制作一个血条吧 使用 Google Breakpad 来助力解决程序崩溃 UE4 多人游戏服务器探索 使用虚幻引擎自动化工具实现自动化部署 如何在 UE4 中制作一扇自动开启的大门 如何在 UE4 中用代码去控制角色移动 如何给 UE4 场景添加游戏角色 UE4:Android 平台开发实践指南 UE4 开发避坑指南(持续更新)

请你喝杯 ☕️ 点赞 + 关注哦~

阅读完记得给我点个赞哦,有👍 有动力 关注公众号--- HelloWorld杰少,第一时间推送新姿势

最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~**



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3