1.Setting up Our Scriptable Objects
主要介绍:
补充全ItemPickUp_SO脚本并判定loot对象
具体实现:
使用Beginner Programming: Unity Game Dev Course(5)- Creating a Character Stat System 课程里的脚本ItemPickUp_SO和ItemPickUp以及CharacterInventory。
先给ItemPickUp_SO添加一些属性。
然后给CharacterInventory脚本添加保存到Inventory的方法,尽管具体实现没有写。
然后编辑ItemPickUp,内容是该Item被player捡起了执行穿上或进入背包。
2.Setting up Our Interface &Setting up Our Chest with Spawnable Loot
主要介绍:
通过interface来掉落生成装备
具体实现:
新建文件夹Interfaces其下新建脚本ISpawn,用于之后宝箱spawn item的固定格式
Monobehaviours文件夹下新建脚本SpawnItem,并挂到宝箱prefab上
然后在宝箱prefab上挂上SpawnItem脚本,并拖入Sword。Sword是之前在项目里保存的ItemPickUp_SO型数据。
sword数据
注意宝箱prefab子对象里有PointerClick的EventTrigger(这是一个组件,给object添加各类型事件触发,包括点击等),拖入并设置触发刚才写的方法
然后把箱子prefab的layer设置一下
在Main场景里新建EventSystem(UI里都自带EventSystem,如果场景里没有EventSystem,则不会触发任何事件)。
然后在MainCamera上挂组件Physics Raycaster。这个组件容许3d对象接收Event信息,常用于又有UI又有3D对象,且3D对象需要触发Event时。
然后设置BootScene,就是把UIManager不显示。
总结:
该章讲了Loot系统,loot要掉物品item,所以有ItemPickUp_SO表示item的信息格式。ItemPickUp表示对Item的操作,比如穿上还是放到背包。
Loot时箱子点击打开,并生成Item,所以有ISpawn来约定每个Spwan脚本里都必须有的内容(spawn出item的信息和材质,以及creatItem方法)。然后写具体要生成Item的脚本SpawnItem并使用ISpawn接口,生成Item主要是在一堆Item信息里选择想要的,然后Instantiate。
最后设置了场景,包括挂入各脚本,场景新建EventSystem来响应Event,Camera上挂Physics Raycaster组件来让3d对象响应Event等。
同样的,该单元依旧展示了标准化流程是如何,每个脚本都各自容纳对应的逻辑,不要到处乱写。
完毕。