目录
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

290

被折叠的 条评论
为什么被折叠?



