unity库存系统插件-Ultimate Inventory System(二)自定义物品篇


前言

这篇为自定义物品篇,我们将一起探索如何自定义各种物品,制作合成;篇幅略长,可酌情观看需要的部分。
上一篇我们大概了解了库存系统包含的功能和简单使用,其中物品部分我们都使用的示例模板,而作为独立游戏开发者来说,要实现咱们脑子里千奇百怪的想法,那必须得自由定制才行;毕竟独游靠的就是创新,很可能抛弃掉传统游戏的血条、蓝条等传统元素,推陈出新、创造出更有趣的玩法。


一、准备工作

1、想好设计思路,我决定选择仙侠类,物品类型分为如下5大类,货币4类,锻造和灵药合成配方待定。
在这里插入图片描述
2、准备大量的相关物品图标以供接下来使用。如找不到可以去unity商店免费素材

二、库存创建

1、打开工具栏 Tools -> Opsive -> Ultimate Inventory System -> Main Manager(以后简称为Main Manager),点击New选择在项目/Asset/Setting下新建一个空的库存,该库存系统相关配置文件均设定在该文件夹下。
在这里插入图片描述
2、如下图进行基本组件添加。
在这里插入图片描述

3、点击Duplicate生成如下图的文件夹,再点击Setup创建UI面板,最后点击Spawn In Scene生成即可在场景实例化UI。
在这里插入图片描述

三、物品类型定义

1、点击Item Categories物品类型这里,默认为未分类和全部两种类型。如图添加我们需要的类型(中文试了下是可以的,不知道有没有其他的编码问题,如果正式项目保险起见建议使用英文;这里让我承受这一切吧,哈哈)。
在这里插入图片描述
2、物品定义界面总览
在实际项目中,我们同类型的物品会有相同的属性,通常是使用一个父(基)类让多个子类继承,,能大大减少工作量。

该插件也提供这类操作,我们不但能创建总类型属性让下属物品类型继承,也能自由移除(提供移除下属物品类型的继承属性或者不移除多种方式),项目灵活性大大增加。

在这里插入图片描述
3、创建物品类型
ok,了解了这么多,我们先给All添加一个不可或缺的类别属性——类型图标。

每个属性都有三种方式供大家使用,如下图所示;我们使用I、O、M来简称她们,为什么呢?看类型图标属性前的两个粉色小图标就是其简称,I为继承,O为重写,M为修改,最需要注意的是修改,我们能叠加父类的属性比如:父类为回血类回10点血,小回血丹回父类1血,大回血回父类5血,十分实用(第二部分细说)。

![
再添两个物品定义属性——物品的描述和图标。

注意属性名称不能重复,如果上图使用“图标”作为类别属性,那这里就不能使用“图标”了。

在这里插入图片描述
接下来选择其中一个类别,如下图Parents选择All(相当于继承All的属性)
在这里插入图片描述
成功!对于继承的属性显示为All的粉色系,而I这个小的粉色图标代表的我们默认选择的“继承”。这时如果删除父类,那么图标会变成自己的绿色系。
在这里插入图片描述
6、添加、删除注意事项
如果我们在父类All添加任意属性就会发现子类都会相应添加该属性。

删除的时候我们有三种选项,从父类删除,子类的属性会留下变成自己的,颜色也会变成自己的色系。从关系图谱、所有地方删除目前是一样的,子类会同时清除该属性。

在这里插入图片描述
7、技巧:左右互博
定义的属性可以在几个大的属性分类下来回转移,这同时也解释了上述问题:为什么几个属性大类别下不能有同名属性。下图的操作将上面定义的描述转移到Item Attributes,当然物品描述的位置正是应该在物品属性里。
在这里插入图片描述

小结:我们学会了添加类型以及类型的属性,接下来我们需要创建模块化的类型,如“可升级”类型、“商店”类型、“可出售”类型等;方便我们以后创建物品的时候直接加父类即可快速实现某一种物品的大部分属性,由于不同项目需求不同,请大家自行创建,这里不做展开。

四、物品定义

首先说明下为什么物品类型和物品定义分开,一般来说我们需要在项目初期就确定90%的基础内容,而类型定义就属于一个总体架构的模块;她不但属于前期准备工作,而且一旦修改会影响很多,单独分开以示她的重要性。另外砖家建议类型确定后只做少量修改。
1、创建物品
打开Item Definitions,创建两个法宝和消耗品,设置Item Category为我们前面创建好的类型。
在这里插入图片描述
设置好就如下图,看完后I、C这些小图标的意思和颜色的意义相信大家都明白了吧,点击这个小图标就会跳转到定义该属性的地方,和VS的F12有异曲同工之妙。接下来大家自由发挥,把图标、描述加上,可以重写成专属于该物品的。
在这里插入图片描述

2、设置物品属性
我们想设置聚气散的属性为10,灵气丸更高级,则为聚气散的5倍。
前提条件如下,消耗品需要至少一个属性-在此为灵气
在这里插入图片描述

聚气散设置为重写,灵气值为10点
在这里插入图片描述
灵气丹的Parent设为聚气丸,再选择修改,然后打出神秘代码 <Inherited> * 5(具体说明参见文档,可自定义属性)
在这里插入图片描述

3、物品的内置属性

可变:可变项目类别将其直接项目设置为可变项目。可变项可以在运行时更改属性值。通过将项目类别设置为不可变,我们可以假设它在创建项目后不会更改。这通过具有单个项目实例而不是多个项目来提高内存使用率。
独特: 唯一项目类别将其直接项目设置为唯一项目。唯一项不会堆叠在默认项集合中。可变的常见(非唯一)项在添加到项集合时将与类似项合并,这可能会丢失属性值。
抽象: 抽象类别不会显示为“项定义”类别的选项。抽象类别的目的是以干净的方式组织项目定义。

在这里插入图片描述

举个栗子,如果材料、消耗品这类物品我们希望能够堆叠,我们就可以设置不可变、非独特,也就是取消勾选该两项。

五、货币系统

1、创建货币系统
货币系统十分简单,处理好换算关系即可;如下三图中为互相兑换的案例,Base Exchange Rate为换算比例,Overflow Currency为溢出货币,如果有特殊需求可以自行更改使其变成单项换算。
在这里插入图片描述
最终效果图:(注意:先完成所有Base Currency设置,再进行溢出(overflow)等属性的选择,否则属性选择为空)
在这里插入图片描述
在这里插入图片描述
2、货币属性添加
货币添加之后我们就可以给物品设置相应的货币属性,给消耗品类加上售出和购买价值,如下图添加CurrencyAmounts属性即可。
在这里插入图片描述

3、货币相关的预制修改
(1)在Classic Schema Full Layout中,搜索MultiCurrencyView(货币视图)相关组件,修改货币种类
在这里插入图片描述

接着搜索咱们新建库中的Multi Currency View、Multi Currency View Small、Currency Owner Monitor、Shop Menu预制体修改对应货币组件。图略。
(2)修改Itme View For Shop预制
在这里插入图片描述

六、物品制作

目标:制作飞剑,飞剑需要5个铁精合成,铁精需要2个铁进行合成
1、创建材料和材料类型
创建材料类型
在这里插入图片描述

创建铁和铁精两种材料。
在这里插入图片描述

2、打开Crafting Categories工艺类别(我们俗称配方)

工艺属于一个大类,所以没有父类约束。类型分别为配方和含货币的配方。

在这里插入图片描述
虽然没有父类约束,但为了规范分类,我们创建“全部配方”、“默认配方”、“含货币的配方”三类,然后将后面两个配方的Parent设置为“全部配方”。对了,全部配方如下图设为抽象,剩余配方的属性分别设置成对于的类型。
在这里插入图片描述3、创建飞剑配方,设置Category为默认配方。
在这里插入图片描述
点击Item Definitions或者item添加5个铁精。
在这里插入图片描述

那类型定义中抽象的呢,当然也可以。

例如某游戏中在锅中放入材料可以煮出对应美味的食物,不小心放错煮出来就是“不好吃的饭”,甚至倒扣属性;这里的不好吃的饭配方就可以为任意4个食材。

在这里插入图片描述

七、 成果测试

1、商店

1、添加足够的货币、物品到角色

2、修改商店的属性为我们的字段属性-购买价值/售出价值,底下的modifier是倍数修正,填上1相当价值+100%。
在这里插入图片描述
3、添加灵气散和聚气散到商店,打开商店。(打开方法参考上一章)
嗯,除了UI有点适配问题其他的正常-原因是因为示例最高为99。咱们也搞成99的换算或者改改UI就可以啦。
在这里插入图片描述

2、工艺制作

1、找到制作界面添加咱们的配方,另外别忘了给角色添加一些材料"铁"用于接下来的制作。
在这里插入图片描述
2、然后打开配方界面
呃,这其实是我在考验大家,我故意添加了全部配方和单独的两个配方,所以多了两个配方。现在,我们深刻的李姐了配方分类的原因。
在这里插入图片描述

八、完善

最后我们将物品定义、配方等进行完善,例如:图标、属性、价格、对应的预制体、设置更多类型。
大家自由发挥,全部完成后再打开商店面板和打造面板会发现,图标还是显示不出来;嗯,这就对了,举个栗子——系统默认的图标为"Icon",而我们使用的是"图标",当然显示不出来。怎么解决呢?下一篇自定义UI篇推到系统默认的显示界面,我们将自己定制一个专属于我们的UI界面。
在这里插入图片描述


总结

OK,自定义物品篇完成,其中包含库存创建、物品类型定义、物品定义、货币系统、物品制作、配方制作,属于核心的库存数据相关。
文章经过二次重构+升级(插件升级),结构更加清晰,放心食用。制作不易,大家喜欢的话点赞支持下,如有出入留言我会第一时间解决。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值