UE4 RPG游戏实战开发(二):装备武器 |
您所在的位置:网站首页 › 用ue4做的游戏 › UE4 RPG游戏实战开发(二):装备武器 |
开工啦!2023.1.28 祝大家开工大吉,兔年鸿运启新程。 装备武器(显示)一开始武器就直接在角色手中,我称之为显示的手持武器。 导入武器素材,可以再UE官方商城中去找免费的武器库,例如无尽之刃的武器
打开角色蓝图视口,给角色骨骼再添加一个节点(Skeletal Mesh)取名 Sword(这里名字可以自定义) 上面讲述了如何让玩家一开始就手持武器出现在场景中,接下来,我们来看看如何让角色能够根据玩家按键抽出武器和收回武器。 准备动画首先得要有抽出武器,收回武器以及手持武器移动的动画,我们还是在 Mixmao 中去下载,具体下载的内容可以在 Mixmao 中搜索 Draw Sword, Sheath Sword, Sword Run, Sword Walk 等关键字,贴出我下载好的动画截图,如下: 我把这部分内容的动画分为以下三个部分:抽出武器,手持武器,收回武器,所以需要给动画蓝图添加三个新的状态机,如图: 由于这三个状态是一个连贯的过程,所以在状态机中需要用到 Layered blend per bone 来融合,分别是融合抽出武器和手持武器,正常移动和收回武器。 手持武器的动画需要创建一个融合动画来制作,这次选择的不是 Blend Space 1D, 而是 Blend Space, 相比较于前者,它多出了一个垂直方向,可以支持横向和纵向的动画,如图: 创建好后,命名为 PlayerArmed_BS, 打开后为其添加横向和纵向的动画,参数用红线已经标注: 由于一开始角色是俩手空空的,在角色手握武器之前得先要有一个拔出武器的动画。添加一个状态 DrawSword, 拖入我们手持武器和抽出武器的动画并用 Layered blend per bone 来融合,其蓝图结构如下: Layered blend per bone 的配置参数如图: Spine 为其骨骼的根节点名称,其他的参数可以自行搜索,这里不做深入。 手持武器添加一个手持武器的状态,加入动画,这里我做了一个跳跃的判断,用到了 Blend Pose by bool, 如果是跳跃的状态下就用跳跃动画,否则就用手持武器动画,其蓝图如下: 添加一个收回武器的状态,加入动画,动画需要融合角色正常移动和收回武器的动画,其蓝图和抽出武器类似,Layered blend per bone 的配置也一样: 每个状态之间有个过渡过程,例如抽出武器->手持武器->收回武器->正常移动,这里需要加入一些参数来判断,创建一个bool变量 EquipMelee 来判断玩家是否装备了武器, 接下来罗列出各个状态之间的蓝图: 玩家移动->抽出武器 抽出武器->手持武器 手持武器->收回武器 收回武器->角色移动 由于武器是需要玩家按键后抽出的,所以为其添加一个按键事件,在工程设置中找到 Input, 然后添加事件 DrawSword,映射键盘 Q: 打开角色蓝图,添加一个 bool 变量 DrawSword, 构建其蓝图: 打开动画蓝图,在这里我们需要给我们之前创建的 EquipMelee 赋值,当按下 Q 后 EquipMelee 的值也会改变,其蓝图如下: 到这里,运行编辑器后我们就可以看到角色在按下Q后会有抽出武器和手持武器移动的效果,再按下 Q 键,会收回武器,但是还缺少一把武器,接下来我们就来实现一下给角色加上武器。 添加武器在角色骨骼上添加一个节点用于展现武器,命名为 WeaponSlot: 创建一个蓝图类,然后选择 Actor 并命名为 Sword_BP, 打开后为其 Add Component -> Static Mesh, 取名 Sword, 如图: 然后配置好武器,并保存: 打开角色蓝图,添加一个变量 WeaponSword, 类型为 Sword_BP, 选择 Class Reference, 配置好默认值: 添加俩个函数 Spawn Gear 和 Destory Gear, 用于创建武器和销毁武器: Spawn Gear 的蓝图结构为: Get Socket Transform 中选择我们之前在骨骼中创建的 WeaponSlot. Destory Gear 的蓝图结构为: Spawn Gear 和 Destory Gear 需要在动画中被调用,打开抽出武器和收回武器的动画,选择在合适的帧上调用这俩函数。 最后, 在角色蓝图动画(PlayerAnmi_BP)中调用这俩个函数: 运行编辑器,按下 Q 键, 角色就会抽出宝剑,宝剑也出现在了角色的手中,再按 Q 键,宝剑就收回去啦! 我是杰少,如果您觉的我写的不错,那请给我 点赞+评论+收藏 后再走哦! 往期文章: UE4 RPG游戏实战开发(一) UE4 如何用命令行来打包你的游戏 UE4:来为我们的角色制作一个血条吧 使用 Google Breakpad 来助力解决程序崩溃 UE4 多人游戏服务器探索 使用虚幻引擎自动化工具实现自动化部署 如何在 UE4 中制作一扇自动开启的大门 如何在 UE4 中用代码去控制角色移动 如何给 UE4 场景添加游戏角色 UE4:Android 平台开发实践指南 UE4 开发避坑指南(持续更新)请你喝杯 ☕️ 点赞 + 关注哦~ 阅读完记得给我点个赞哦,有👍 有动力 关注公众号--- HelloWorld杰少,第一时间推送新姿势最后,创作不易,如果对大家有所帮助,希望大家点赞支持,有什么问题也可以在评论区里讨论😄~** |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |