虚幻引擎中的Lyra物品栏和装备 |
您所在的位置:网站首页 › finally用法与拓展 › 虚幻引擎中的Lyra物品栏和装备 |
本页面的内容
Lyra物品栏和装备 物品栏 物品栏物品片段 物品拾取 装备 与UI的关系 快速栏 自定义准星 关键物品栏类型 关键装备类型 超越Lyra Lyra物品栏和装备物品栏(Inventory ) 是你拥有的物品的集合,但物品也可以藏起来,比如隐藏在背包等容器中。 装备(Equipment ) 是从该容器或背包中拿出来后手持、穿戴或使用的物品。 例如,考虑给予玩家角色的步枪物品。它最初仅以虚拟方式存在于玩家的物品栏中,包括弹药。按下武器更换按钮,即可配备步枪。这将显示为角色手中的3D网格体,添加了步枪的开火和填弹技能。 下面是物品栏和装备之间的一些重要差异: 类别 物品栏物品 装备物品 可视化 图标用于用户界面(UI)或游戏内拾取。 在使用时生成并常常附加到所有者的可见Actor。 生命周期 只要所有者持有实例,实例就存在,放下后就会将其销毁。 物品配备时会创建实例,取消配备时会将其销毁。 Gameplay 状态使用Gameplay标签堆栈维护。 在配备/取消配备周期之间不会维护状态。可以在配备时授予技能集。 所有权 由InventoryManagerComponent中的控制器拥有。 由EquipmentManagerComponent中的Pawn拥有。 网络复制 仅限服务器和自主代理。 服务器、自主代理和模拟代理。 数据定义 由可扩展的物品栏片段组成。 仅限于数据属性。 关联 物品定义通常指定了关联的装备定义。 装备定义没有引用物品栏定义。 命名规范 以"ID_"开头(ID_Rifle) 以"WID_"开头(WID_Rifle) 物品栏物品栏物品是可以获取或拾取的对象。通过 物品栏片段(Inventory Fragments) 数组影响Gameplay和演示。 片段可以通过Gameplay标签改变所有者的统计数据,显示在物品栏UI中,或让物品变为已配备。 物品栏物品片段Lyra有各种片段,可应用于物品栏物品: 物品栏物品 说明 InventoryFragment_PickupIcon 确定可以拾取的物品在世界中的表示。 InventoryFragment_EquippableItem 将此物品栏物品与所有者配备该物品时使用的装备定义配对 InventoryFragment_SetStats 在拾取时授予一组基于Gameplay标签的堆栈,例如弹药。 InventoryFragment_QuickbarIcon 确定用于占据玩家快速栏UI中插槽的物品的HUD图标。 InventoryFragment_ReticleConfig 指定在配备此物品栏物品时要实例化的替代HUD准星类。 你可以实现新的片段类型,从而自定义Lyra的物品栏片段物品效果。 物品拾取ALyraWeaponSpawner 类包含拾取如何与物品栏物品一起运作的示例。这些物品在Lyra射击贴图中用作 B_WeaponSpawner (对于武器拾取)和 B_AbilitySpawner 实例(对于生命值拾取)。 装备装备(Equipment) 是可以配备给玩家的物品,可能会更改其Gameplay视觉效果、UI,或者授予被动或主动技能。通常,配备的物品基于物品栏物品实例化。 不同于物品栏物品,装备物品仅在配备时存在。 与UI的关系 快速栏快速栏(Quick Bar) 是玩家HUD区域,其中显示可配备的物品栏物品,例如武器。它会使用物品的物品栏片段中的信息来显示,并使用物品栏实例的统计数据标签来表示弹药状态。 当你选择不同的快速栏插槽时,玩家物品栏中的武器会相应配备或取消配备。 请参阅 W_QuickBar 和 W_QuickBarSlot 控件蓝图,了解实现细节。 自定义准星不同的物品在配备时可能导致玩家的HUD发生变化。例如,手枪的准星用于精准射击,而霰弹枪的准星用于广泛显示多个命中位置。 准星从物品的物品栏物品定义中的片段指定。请参阅 W_ShooterHUDLayout 和 W_WeaponReticleHost 控件蓝图。 关键物品栏类型类型 说明 InventoryManagerComponent 管理一系列物品栏物品。 将共享的InventoryItemDefinition转换为InventoryItemInstance。 重复物品可以通过多个InventoryItemInstance或带有StackCount的单个InventoryItemInstance表示。 由LyraPlayerController拥有。 InventoryItemDefinition(资产) 资产示例:ID_Pistol。 包含InventoryFragment的数组,它们提供有关物品不同方面的更多信息。 对于可配备的物品,InventoryItem有一个指定EquipmentDefinition资产的片段 InventoryFragment 描述物品某个方面的可选数据块。一个物品通常有多个这样的数据块。 InventoryItemInstance 在物品添加到物品栏时创建 引用其原始InventoryItemDefinition 表示单个物品,例如步枪,以及统计数据标签的"堆栈"。这些堆栈表示物品的特征,例如剩余弹药和容量。 没有子类。 PickupDefinition(资产) 保存有关拾取物品的物品栏物品定义、其演示和重新生成行为的信息的数据资产类型。 示例:WeaponPickupData_Heal_Small。 关键装备类型类型 说明 EquipmentManagerComponent 管理特定Pawn上配备的物品。 一个角色一次只能配备一个武器。 保存配备的实例的簿记。(AppliedEquipmentEntry的数组) 由Pawn拥有。 EquipmentDefinition(资产) 定义要对配备它的Pawn执行的操作。 配备时要生成的Actor的列表。 要授予的技能的列表。 EquipmentInstance 在Pawn上配备时创建。 有OnEquipped/OnUnequipped虚拟和蓝图可实现的函数。 在FGameplayTagStackContainer中保存标签堆栈。 保存发起者。(负责配备的对象。对于快速栏,这是InventoryItemInstance。) 可以访问所属Pawn。 EquipmentInstance的子类存在。(WeaponInstance、RangedWeaponInstance) 无法访问从中创建它的EquipmentDefinition。 AppliedEquipmentEntry 簿记条目,每个配备的物品一个条目。 将EquipmentInstance与其源EquipmentDefinition配对。 保存应用于所属Pawn的物品(授予的技能、生成的Actor)。 RangedWeaponInstance / WeaponInstance 执行一些特定于类型的内部簿记的EquipmentInstance专业化版本。 超越Lyra虽然Lyra中的物品同时有物品栏和装备表示,但这些系统可以独立运行。 例如,考虑为玩家提供一个能够授予防御性奖励的物品,例如魔法幸运符。该物品可能有物品栏定义指定了HUD图标,而且有新片段类型将保护性Gameplay效果应用于其所有者。 由于这是不需要配备的被动效果,因此不需要装备物品定义。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |