您现在的位置是:首页 > 数码 > 

unity库存系统插件

2025-07-22 17:36:52
unity库存系统插件 文章目录前言一、准备工作(库存类型定义)二、物品定义三、货币系统四、物品制作五、 问题汇总总结 前言 这篇为自定义物品篇,我们将一起探索如何自定义各种物品,制作合成;篇幅略长,因为这块能说的挺多,可酌情观看自己需要的部分。 上一篇我们大概了解了库存系统包含的功能

unity库存系统插件

文章目录
  • 前言
  • 一、准备工作(库存类型定义)
  • 二、物品定义
  • 三、货币系统
  • 四、物品制作
  • 五、 问题汇总
  • 总结


前言

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


一、准备工作(库存类型定义)

0、想好设计思路,我决定选择仙侠类,物品类型分为如下5大类,货币4类,锻造和灵药合成配方待定。(额,还没想好,写到那估计就想好了)

1、准备大量的相关物品图标以供接下来使用。如不到可以去unity商店免费素材。
2、打开工具栏 Tools -> Opsive -> Ultimate Inventory System -> Main Manager(以后简称为Main Manager),点击ew新建一个空的库存(因为新建所以要再创建一遍场景的东西,嫌麻烦就拿第一篇的示例制作,遇到问题参考第五部分或者留言)。

其中注意UI也同样需要生成,为避免问题大家可以先删除插件的Demo文件夹,上一章的示例也可以删除。注意,删除前到ExampleMove脚本和Equipment Item View Slots Container上的两个预制体移动到自己的项目预制体文件夹,再生成就不会有报错。

接下来点击生成如下图的文件夹,最后点击Spawn In Scene生成即可在场景实例化UI。

、点击Item Categories物品类型这里,默认为未分类和全部两种类型。如图添加我们需要的类型(中文试了下是可以的,不知道有没有其他的编码问题,如果正式项目保险起见建议使用英文;这里让我承受这一切吧,哈哈)。

4、物品定义界面总览
在实际项目中,我们同一类型的物品会有相同的属性,这是人之常情;而实现方式通常是使用c#的继承来做,一个父类让多个子类继承,逻辑代码也会轻松不少,能大大减少工作量。
故而该插件也提供这类操作,我们不但能创建总类型属性让下属物品类型继承,也能自由移除(提供移除下属物品类型的继承属性或者不移除多种方式),让项目更灵活。

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

再添两个物品需要的描述和图标,注意属性名称不能重复;如果上图使用“图标”作为类别属性,那这里就不能使用“图标”了。

接下来选择其中一个类别,如下图Parents选择All(相当于继承All的属性)

成功!对于继承的属性显示为All的粉系,而I这个小的粉图标代表的我们默认选择的“继承”。这时如果删除父类,那么图标会变成自己的绿系。

6、添加、删除注意事项
如果我们在父类All添加任意属性就会发现子类都会相应添加该属性,不小心添加或者需要删除的时候我们有三种选项,从父类删除,子类的属性会留下变成自己的,颜也会变成自己的系。从关系图谱、所有地方删除目前是一样的,子类会同时清除该属性。

7、技巧:左右互博
定义的属性可以在几个大的属性分类下来回切换,这同时也解释了上述问题:为什么几个属性大类别下不能有同名属性。

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

二、物品定义

首先说明下为什么物品类型和物品定义分开,一般来说我们需要在项目初期就确定90%的基础内容,而类型定义就属于一个总体架构的模块;她不但属于前期准备工作,而且一旦修改会影响很多,单独分开以示她的重要性。另外砖家建议类型确定后只做少量修改。
1、创建物品
打开Item Definiti,创建两个法宝和消耗品,设置Item Category为我们前面创建好的类型。

设置好就如下图,看完后I、C这些小图标的意思和颜的意义相信大家都明白了吧,点击这个小图标就会跳转到定义该属性的地方,和VS的F12有异曲同工之妙,相关的解释以后不再说明。接下来大家自由发挥,把图标、描述加上,可以重写成专属于该物品的;如果有生命值这种就也可以如法炮制。

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

聚气散设置为重写,灵气值为10点

灵气丹的Parent设为聚气丸,再选择修改,然后打出神秘代码 <Inherited> * 5(具体说明参见文档,可自定义属性)

、物品的内置属性

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

举个栗子,如果材料这种我们希望能够堆叠的属性,我们就可以设置不可变、非独特。

三、货币系统

货币系统十分简单,处理好换算关系即可;如下三图中为互相兑换的案例,Base Exchange Rate为换算比例,Overflow Currency为溢出货币,如果有特殊需求可以自行更改使其变成单项换算。


四、物品制作

目标:制作飞剑,飞剑需要5个铁精合成,铁精需要2个铁进行合成
1、创建材料和材料类型
创建材料类型

创建铁和铁精两种材料。

2、打开Crafting Categories工艺类别(我们俗称配方)
简要说明,工艺属于一个大类,所以没有父类约束。类型分别为配方和含货币的配方。

虽然没有父类约束,但为了方便分类,我们创建“全部配方”、“默认配方”、“含货币的配方”三类,将后面两个配方的Parent设置为“全部配方”。对了,全部配方如下图设为抽象,配方的属性则设置成对于的类型,参考上图中类型说明。

、创建飞剑配方,设置Category为默认配方。

加入材料铁精剑胚,然后打开商店看看能否合成。
至于几个铁合成1个铁精不过多阐述,大家可以加入金钱或者灵石来看看两者的不同。

题外话,具体材料能合成装备,那抽象的呢,当然也可以。

五、 问题汇总

1、预制体引用错乱问题
新建的预制体不少会引用初始的预制体,使用中会造成相当的困扰,所以最好在进行以下操作后再点Spawn In Scene按钮生成UI。
在自己新建的库存管理中到Classic Schema Full Layout预制体,到里面的格子组件如图拖拽成自己新库存的预制

在Classic Schema Full Layout中,搜索Monitor,添加或修改货币种类


修改商店相关预制体引用问题

打开Item View For Shop预制体进行货币修改
最后在Classic Schema Full Layout中,搜索Monitor,添加或修改货币种类

2、货币属性添加
货币添加之后我们就可以给物品设置相应的货币属性,让物品拥有价值,如下图添加CurrencyAmounts属性即可。

嘿,其实还没完,我们给消耗品类加上售出和购买价值;然后给药水的属性赋值

修改商店的属性为我们的字段属性-购买价值/售出价值,底下的modifier是倍数修正,我们填上1

添加灵气散和聚气散到商店,运行商店,嗯,除了UI有点适配问题其他的正常-原因是因为示例最高为99。咱们也搞成99的换算或者改改UI就可以啦。


总结

OK,自定义物品篇基本完成。额,为什么说基本,因为现在不是4块内容嘛,考虑到还有些内容可能没涉及到,后续可能更新第五块。(有可能是技巧方面的,目前内容囊括90%日常使用功能,放心看)
预告:视图篇包含物品的悬浮面板、数量溢出、右键扩展功能菜单等方案,人物的物品槽位设置,商店背包的分类、排序、搜索、拖拽;对了,还有多个且不同的商店设置。废话不多说,下篇自定义视图篇见。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/805814.html

相关标签:无
上传时间: 2024-01-18 06:18:38
留言与评论(共有 20 条评论)
本站网友 房产证上可以写几个人的名字
22分钟前 发表
加入材料铁精剑胚,然后打开商店看看能否合成
本站网友 壹号卫
4分钟前 发表
类型分别为配方和含货币的配方
本站网友 手指甲
6分钟前 发表
本站网友 锁金村二手房出售
19分钟前 发表
总结 OK,自定义物品篇基本完成
本站网友 樱奇油烟机怎么样
13分钟前 发表
注意,删除前到ExampleMove脚本和Equipment Item View Slots Container上的两个预制体移动到自己的项目预制体文件夹,再生成就不会有报错
本站网友 恐龙法官
14分钟前 发表
数量溢出
本站网友 淮南职业技术
12分钟前 发表
这通过具有单个项目实例而不是多个项目来提高内存使用率
本站网友 如何p图
5分钟前 发表
“商店”类型
本站网友 网页设计入门
4分钟前 发表
2
本站网友 谷精草
29分钟前 发表
本站网友 国防科技大学怎么样
27分钟前 发表
拖拽;对了,还有多个且不同的商店设置
本站网友 jieqiang
5分钟前 发表
可变的常见(非唯一)项在添加到项集合时将与类似项合并,这可能会丢失属性值
本站网友 激光美容皮肤
27分钟前 发表
2
本站网友 攀枝花楼市
23分钟前 发表
描述加上,可以重写成专属于该物品的;如果有生命值这种就也可以如法炮制
本站网友 小贩之歌
3分钟前 发表
“默认配方”
本站网友 avg破解版
0秒前 发表
非独特
本站网友 海口铺面出租
24分钟前 发表
点击Item Categories物品类型这里,默认为未分类和全部两种类型
本站网友 榆林二手房网
11分钟前 发表
其中注意UI也同样需要生成
本站网友 减肥食谱有哪些
9分钟前 发表
货币系统四