[Opsive - ultimate inventory system] Equipping Items(装备物品)

英文原文:https://opsive.com/support/documentation/ultimate-inventory-system/item-objects/equipping-items/

在谈论库存和物品时,装备盔甲和武器是必须的。有两种类型的设备,蒙皮和不蒙皮。蒙皮装备是玩家动画时变形的任何物体,例如玩家的衣服。蒙皮装备必须在 Unity 中导入,其装备与蒙皮网格渲染器相同。非皮肤装备是另一种类型,例如剑。

创建一个适用于所有游戏的装备系统尤其困难。该系统是可定制的,为了获得更多的自由,可以用您自己的系统替换它。装备系统是其他系统所不依赖的模块。

请注意,装备系统不会处理属性变化。统计更改不是库存系统的一部分,它们只是演示的一部分。该演示展示了如何为角色实现统计数据的方法。角色统计类在其构造函数中接受一个装备器,然后用于在任何给定时间计算角色统计。您可以自由地遵循类似的方法。

装备系统由三个组件组成:物品槽集合、物品槽套装和装备器。

Item slot collection(物品槽集合)

清单可以有许多物品集合。这些集合可以是任何类型,这意味着物品集合在清单中可以有不同的操作。物品槽集合是物品集合类的子类,它允许我们指定物品槽集。物品槽集限制可以向其添加的物品和物品数量。在大多数情况下,物品栏集合包含物品栏中装备的物品,因此我们将其命名为“装备”并将其用途设置为“装备”。在清单中包含的物品集合中设置唯一的名称和用途非常重要。这是因为装备器组件将按名称或用途访问物品集合。

将项目添加到项目槽集合时,首先检查它以确保可以将该项目添加到槽中。如果可以,则检查该插槽以确定它是空的还是被占用的。如果为空,则可以毫无问题地添加该项目。如果插槽被占用,则现有项目将替换为新添加的项目。然后,移除的物品将被放置在物品栏的主要物品集合中。

在这里插入图片描述

Item slot set(物品槽集)

Item slot set是一个可编写脚本的对象,用于定义一组Item slot。许多RPG都有头部,右手,左手,胸部和腿部的物品插槽。但并非每个项目都是一样的,您可能需要更多或更少的插槽。您可以从检查器设置插槽。物品栏被定义为名称、物品类别和大小限制。您可以根据需要拥有任意数量或数量。

例如,考虑右手插槽,该插槽由武器物品类别定义,大小限制为 1。在这种情况下,您可以在右手装备一把武器。

在这里插入图片描述

Equipper(装备)

Equipper用于生成和视觉装备“装备”物品集合中的物品。指定物品槽集时,Equipper将允许您指定物品对象槽是否蒙皮,如果没有,则指定装备物品的生成位置。您还可以设置在该插槽中装备某些东西时应隐藏的游戏对象

在这里插入图片描述
equipper在装备物品时可以生成两个prefabs属性:

  • Equipment Prefab:设备预制件是通常设置为项目定义属性的预制件。当物品装备时会生成。它应该有一个可视化模型,可以是子蒙皮网格渲染器,也可以是简单的网格渲染器。通常,此预制件不会附加任何脚本,尽管它可以。
  • Usable Item Prefab:(可选)此预制件通常设置为项目类别属性。这是您可以设置使用项目的脚本的位置。例如,使用近战攻击或发射射弹的脚本。此预制件不应有任何模型,而应包含脚本。使用时,装备预制件将作为此预制件的子级生成。

我们选择将它们拆分为两个属性的原因是提供将逻辑与模型分离的选项。允许您使用单个prefab来定义如何进行近战攻击或射击射弹,在许多项目之间共享,只需交换模型即可。当然,项目绑定组件可用于切换可用项目的属性值,以更改诸如“攻击”,“射弹数量”等值…

Skinned Mesh Equipment(蒙皮网格装备)

必须设置蒙皮网格装备预制件,以便蒙皮网格可以从预制件中剥离,并在生成时附加到角色骨骼。

蒙皮网格设备预制件将设置为“装备预制件”属性。在大多数情况下,“可用项预制件”属性要么不存在,要么为 null。

建议预制件的顶层只是一个包含两个子级的转换:蒙皮网格体和完整角色装备。

重要提示:如果没有角色装备,物品将无法装备,因为它无法将用过的骨骼与角色骨骼交叉引用。当然,物品上的角色装备层次结构必须与它将装备的角色装备相匹配。

请注意,只有带有蒙皮网格的游戏对象才会在角色上生成,角色装备将被丢弃以清理角色层次结构。因此,项目是按角色合并的,而不是在所有角色之间共享。

在这里插入图片描述
如您所见,装备系统非常简单,它独立于可用物品对象或角色属性。这使得扩展或完全换成适合您的游戏要求的内容变得非常容易。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值