unity canvas text_Unity建造系统插件(BuildSystem)使用说明

v2-a411d927f66eb5def2169842d439702b_1440w.jpg?source=172ae18b

先展示一下最后的效果(模型也是Untiy的免费模型)

v2-01d650566843fcc79c44b846dc5d7f69_b.gif

参加了一个自定义学校的项目,其中有个建造系统需求,所以本着能偷懒就偷懒的原则,第一时间去找有没相关的插件,果然让我找到一个叫(buildSystem)的插件,顾名思义“建造系统”,关键是这插件是免费的!免费!好啦,啥也不说,开整!

v2-9bda4281bd1b2c96048a623a1e3721d4_b.jpg
就是这个

首先第一时间点开里面的案例(BuildSystemExampleScene文件夹) 发现例子还是挺详细的,里面集成了一个背包,具体的使用方法就是先在一个对象上挂一个叫做:ObjectPlacer的脚本,这个脚本是设置哪里是放置区的,里面只需要更改两个地方(选择摄像机,选定哪些层用于放置物品)

v2-5005d09761550d0b42c6e5aab80fbd14_b.jpg
实际原理就是摄像机射线,所以这里还有一个Max Plaec Distance的参数

其中Toggle Key用来设置打开背包的按键,默认是E

然后是Object Selector脚本,该脚本用于挂载道具列表以及背包菜单。

v2-552a7b67d2acfbe5cacc3acf579bf3a4_b.jpg

先讲这个项目列表,实际就是一个个item的集合(Container),

v2-bc0eeffdc665c2e5f77f42e81f100993_b.jpg

然后这每个item挂载的是要用来放置的道具,注意这里有两个坑。

1.挂载的如果直接是模型会无法设置这个模型的Layer,所以一般是先创建预制件,这个预制件要设置好Layer,这个层是用来标识这个物品的,方便后续删除物品时用,且要挂载好碰撞盒,因为后续放置物品在该模型上面时就是通过碰撞盒来标识的,如果没有碰撞盒则会穿模

v2-91852f1a5ca53d2509e97cf8fd17298c_b.jpg

2.这个是item的坑,如果已经把物品挂载在item上了,要修改挂载的物品则最好重新创建一遍,不然无法识别,这应该是一个bug

v2-4914468749eb4bb555ca23555d75c145_b.jpg
无法直接改Prefab To Spawn

最后把这些创建好的item挂在ItemList上就完成背包列表了

v2-1e4d827ca877522dc5ccf2117c21b27d_b.jpg

然后就是创建一个背包菜单预制件了,背包的基本结构是分成Item项目,容器

这是两个预制件,先讲容器

v2-e665d13d5bd819c8ea73ecbb3402b196_b.png
这个背包菜单就是Ui的Canvas,只是我比较喜欢用中文

如图,背包容器有两块是比较重要的,一个就是物品栏的容器,另一个就是关闭菜单的按钮

至于标题栏弄不弄看你,

v2-2af7e802c0ea6dbb2e9a89290c516dda_b.jpg
“菜单背景”这个项挂载的脚本

其中Animator和BuilderUi必须挂载,在动画器里选择

案例里默认创建的那个动画器就好了,然后BuilderUi有三个要填写的项,第一个是用于存放项目的容器,第二个是每个项目的预制件,第三个是关闭菜单按钮的Text(不是挂载按钮,是挂载按钮的那个text),第一个容器

v2-47be61929acc6c5ac10237f1feeff6c6_b.png

主要是用来遮挡列表的东西,以及提供拖动功能(写个背包的都懂)

v2-e5951b196206d8b7c4fe17aab6f11cac_b.jpg
“物品容器”挂的重要脚本

然后下面那个容器就单纯用来装到时候实例出来的item

v2-df854f74a5066d47ac5c5fe1e7093275_b.jpg

到此,背包的容器项就完成了,接下来的就是单个item(其实就是背包里的一个个格子,动态生成)的预制件,挂载一个Builder Object UI的脚本

v2-2609be9fb4046cfc0b1aab553bb6fba1_b.png

v2-d682b28915e8ca7b8dd3e221f1f7e062_b.jpg
如图,只要把自己的这两项挂上就好了

这个预制件实际就是这个背包自动生成格子时会把item的图片和名字挂在这里填写的Text和image上。

到这里背包的预制件就做好了,把它挂在Object Selector脚本上就好了

然后是删除物体的脚本Object Remove,一样挂在控制器上

v2-b0be33577a69658fa4a5327ba36fcc15_b.jpg
只需选择摄像机以及需要删除的Layer

下面分享两个控制器,第一个是第一人称的控制脚本(使用了unity的简单控制器组件,且物体挂了个相机为主物体),第二个是上帝视角控制摄像机移动的脚本

public 

上帝视角的控制脚本

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值