在使用Unity的过程中,我们可能会遇到一些数据或资源需要我们管理或修改,或者说,从某个资源读取到的数据需要储存,这时候.asset文件就派上用场了

.asset文件可以储存任何Unity内部类型

多说无益,这里,我们用一个案例来讲解它的好处

我们知道,在制作2D游戏的时候,不可避免的会遇到图集切割问题,这样把一个图集切割完了

Unity进阶篇: 创建并使用自定义资源(.asset)

可是,我们有时候可能会有动态加载图片的需求,如果是图集还好说,可是如果要用到切割好的图片该怎么办呢?

我们有两种方案

  1. 把切割好的sprite挂载到需要使用它的游戏物体上,可是,如果这样的需求多起来,对项目来说,那将是一场灾难
  2. 使用.asset文件储存,动态读取

这里我们说一下第二种方法

首先创建基础条目,注意添加[Serializable]属性

Unity进阶篇: 创建并使用自定义资源(.asset)

这样是一个精灵对应它的名字,可我们需要的是多个精灵,多个名字

所以创建SpritesAsset类,注意继承ScriptableObject类,这是进行序列化为.asset文件必不可少的东西

Unity进阶篇: 创建并使用自定义资源(.asset)

这样数组也满足了

接下来就是创建.asset文件了

Unity进阶篇: 创建并使用自定义资源(.asset)

在编辑器创建

Unity进阶篇: 创建并使用自定义资源(.asset)

Unity进阶篇: 创建并使用自定义资源(.asset)

那么怎么读取呢,更简单了

Unity进阶篇: 创建并使用自定义资源(.asset)

就可以拿到刚刚创建的.asset了

相关文章:

  • 2021-11-08
  • 2022-12-23
  • 2022-01-09
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2021-08-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2021-10-20
相关资源
相似解决方案