Creed —— 装备系统

目录

一,创建装备所需资产

二,拾取装备

三,创建装备相关UI

WB_Equipment_MainUI 主装备界面

WB_EquipableSlot 已装备插槽

​​​​​​​WB_ItemSlot 装备列表中的插槽​​​​​​​

四,设置主界面玩家角色视口


一,创建装备所需资产

创建描述装备的数据结构Struct_Equipments

  • 创建描述装备类型的枚举Enum_Equipment_Types;

创建存储不同类型装备的数据表DataTable_Equipments

  • 即存储Struct_Equipments;

创建一数据结构Struct_DataTableRow,其中元素是用于获取数据表某行数据;

  • 获取数据表某行数据的数据类型为Data Table Row Handle

创建表示某个装备的蓝图BP_Equipment;

  • 创建变量ItemData,类型为Struct_DataTableRow;
  • 创建StaticMesh组件;
    • 在构造脚本内,根据ItemData指定StaticMesh具体的内容;

 创建用于装备系统的组件BPC_EquipmentSysstem;

 

二,拾取装备

创建用于交互的输入动作IA_Interact,并设置具体按键;

  • 如拾取场景内的武器;

 

创建添加装备的变量和函数

  • 创建用于存储已有的装备数组变量MyEquipments,类型为Struct_DataTableRow;

  • 创建用于添加装备的函数Add Equipment;

具体拾取逻辑

        输入动作后,从follow camera球型追踪,如击中的是BP_Equipment,则拾取(添加到变量MyEquipments,并销毁BP_Equipment);

三,创建装备相关UI

创建输入动作IA_Menu,并设置具体按键;

 

创建相关Widget

  • WB_Equipment_MainUI,主装备界面;
  • WB_EquipableSlot,已装备给角色的插槽;
    • 点击该插槽可显示已有装备的列表;
  • WB_ItemSlot,显示在装备列表中具体每个装备的插槽;
    • 点击该插槽将该装备显示在WB_EquipableSlot,并装备给角色;

WB_Equipment_MainUI 主装备界面

在BPC_EquipmentSysstem内设置,输入动作打开装备界面,再次输入动作关闭装备界面;

​​​​​​​

重新在打开主装备界面时,可装备插槽图标会消失;

  • 需记录上次已装备的插槽,重新打开时在恢复对应图标;

WB_EquipableSlot 已装备插槽

点击WB_EquipableSlot插槽,在点击处显示已有装备的列表;

在显示已有装备的列表中,添加装备,避免多次点击多次添加;

  • 如列表是空,直接添加与插槽类型匹配的装备;
  • 如列表不空,其中已有的装备类型与当前插槽类型匹配则不用在添加,否则先清除在添加;

​​​​​​​​​​​​​​WB_ItemSlot 装备列表中的插槽​​​​​​​

点击列表的​​​​​​​​​​​​​​WB_ItemSlot插槽,将该装备显示在WB_EquipableSlot,并装备给角色;

  • 点击后,列表隐藏;

添加或清除可装备插槽图标

针对不同装备时,放置在角色不同位置;

为不同装备设置不同socket插槽;

创建相应个数的静态网格体组件并指定socket,但不指定网格体;

  • 在装备时添加对应的网格体;

记录可装备插槽当前状态

四,设置主界面玩家角色视口

在玩家角色蓝图内,获取玩家角色,以用于主界面玩家角色视口;

捕获玩家角色

  • 创建SpringArm;
    • Z轴选择180度,以捕获正面;
    • 禁用Do Collision Test;

  • 创建SceneCaptureComponent2D组件;
    • 设置Primitive Render Mode为Use ShowOnly List;
    • 设置Texture Target,创建CharacterEquipmentTextureTarget;

 

  • 根据Render Target(CharacterEquipmentTextureTarget),创建材质M_CharacterEquipmentTextureTarget;

应用到主界面

设置Charcter Viewport Image的brush中的image为M_CharacterEquipmentTextureTarget;

参考Charcter Viewport Image位置参数,创建Scale Box,并将Charcter Viewport Image放置其下;

此时布局在主界面里的角色太小,设置EquipmentSpringArm的Target Arm Length;

创建铺满屏幕的背景image;

  • 设置背景颜色和透明度,并模糊背景;

​​​​​​​

五,盔甲

设置盔甲模型的Pivot

如模型的Pivot不在中心,需重新设置;

在骨骼上设置Socket

在角色蓝图内添加盔甲并指定Socket

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值