UE4-Task1-新增/自定义武器

最近迷上了虚幻4.于是从商城买了个看起来挺完整的蓝图系统:

https://www.unrealengine.com/marketplace/zh-CN/item/704181b563144ed5b5ef2a4f5dd0b596

以此来作为学习(借鉴)入门。本文算是记录学习过程的一个daily task record.

——————————分割线——————————

由于该项目的系统完成度已经相当ok了,因此我给自己定的第一个任务是在此基础上进行扩展。换句话说,先把所有系统都自定义一波再说。

万事开头先备份。

备份完了后呢,task1:新增/自定义武器。

按照作者给的说明,第一步,创建项目对象的蓝图。

我想新增一把太刀式的武器,单手使用,效果拔群。因此,我找到了项目下的Item_MeleeWeapon并观察之。UE4-Task1-新增/自定义武器_第1张图片UE4-Task1-新增/自定义武器_第2张图片

有四个接口,并且有是否是双手武器/武器类型/描述/图标等等的属性。

根据作者说明,我们可以直接创建该类的一个子类蓝图,并移至同目录的Instances下。

UE4-Task1-新增/自定义武器_第3张图片

正确写法yamato

自定义其属性:

UE4-Task1-新增/自定义武器_第4张图片

红框里面的不要设置成其他type,否则会出现bug(装备不上)

其中Display下面的Displayed Item应该是找不到DI_yanmoto这一项的。当然这个变量暂时不是什么重要的部分,不影响到测试,稍后再说;

备注说明:

Black Value:只装备此武器的情况下格挡所吸收伤害的百分比。50的话意味着格挡只能挡掉50%的伤害;

Two Handed:装备此武器后还能不能装第二把。

IsStackable:是否可叠加(即使相同的武器,强化程度也不一定相同,因此一般都设置为不可叠加)

IsDroppable:是否可扔

IsConsumable:是否可卖

好了,现在已经可以正常添加该物品进入物品栏了。但是,还不能正常使用,因为我们还需要设定一个可视化蓝图以使该武器可见可用。

第二步:找到DisplayedItem,

图就懒得截了。其中关键点有二:

1,对象是应用于人物模型本身(铠甲?头盔?之类的)还是应用于手部(武器)?

2,导入的静态网络物体(SM)是否具有socket?

第一个问题好说,设置一个DisplayedItem的子类蓝图并扔到同目录的Instances下并按需修改相关的对象即可:

UE4-Task1-新增/自定义武器_第5张图片

UE4-Task1-新增/自定义武器_第6张图片UE4-Task1-新增/自定义武器_第7张图片

第四步不是必须的,这是 “当敌人持有该武器并被击杀后武器是否会消失” 的控制tag。

然后:

UE4-Task1-新增/自定义武器_第8张图片UE4-Task1-新增/自定义武器_第9张图片

 

备注:Hand Attachment Socket:角色战斗中挥舞武器的动画类型;

Attachment Socket:角色非战斗状态下(行走、跑步、跳跃等)武器的动画类型。

 

关于第二个socket的问题,首先我们要找到网络物体对应的原始文件(一般格式为SM_xxxxx):

按照https://api.unrealengine.com/CHN/Engine/Content/Types/StaticMeshes/HowTo/Sockets/index.html的方法设置socket如下:

UE4-Task1-新增/自定义武器_第10张图片

备注:socket的意义在于伤害判定的与否/距离大小,换句话说,如果没有设置这一步,那么测试的时候就会发现即使做出了挥舞武器砍人的动作,但是并不会有伤害判定。

 

然后你可以回到前面提到的Displayed Item中,将其修改成DI_yanmoto啦~

OK,来测试!

第一步:将其添加到PickupActor中;

UE4-Task1-新增/自定义武器_第11张图片

第二步:测试能否正常拾取;

UE4-Task1-新增/自定义武器_第12张图片

第三步:打开背包,测试能否正常装备/丢掉/丢掉后是否消失;

UE4-Task1-新增/自定义武器_第13张图片UE4-Task1-新增/自定义武器_第14张图片UE4-Task1-新增/自定义武器_第15张图片

第四步:砍人,测试是否有伤害/伤害判定范围是否符合预期等等。

UE4-Task1-新增/自定义武器_第16张图片

ojbk~至此就成功地定义了一把新武器啦~

 

撒花~

 

你可能感兴趣的:(UE4,UE4,虚幻4)