最近一段时间都在想办法优化游戏资源,记录一下
* Unity引擎会自动把Resources文件夹里面的资源打到包体里,这个想必大家都清楚。它这样做的好处是:只要你把资源丢到这个文件夹里,资源就会自动放到包体里。坏处是:如果你的游戏不是单机,并且需要划分出资源包,那么由于Resources文件夹的机制,非常有可能会导致一个游戏包里出现资源(图片等)重复。这是因为在Resources里面的资源一定会打进包里,打资源包的时候,如果资源包的一些预设也使用到Resources里面的资源,资源包它是不会去判断它所使用到的资源是不是在Resources文件夹内,它只是简单地把它所用到的资源打进它自己的包里。这样一来,就会出现一个游戏包里出现两张一模一样图片的情况(一张在Resources打出来的resources.assets,一张在资源包panelPrefab.bundle里)
* 其实Untiy官方也建议成熟的项目不要使用Resources文件夹来存放游戏资源,资源优化的第一步就是想办法把Resources的资源给移走,之后删除这个文件夹。
* 游戏内几乎所有的资源都应该以 .bundle的形式进行保存
* 介绍一些基本知识。Unity引擎会给每个放进Assets文件夹内的脚本,图形,预设自动生成 .meta文件,.meta的作用是使每个文件都有它独一无二的标识符guid,unity通过guid的管理来获得每个文件。
* 如果你打开 .prefab文件你会看到里面会出现很多“guid:86858c9f1b470fa40acad6039e725e4e”,这些guid就是这个预设所用到的资源。在打AssetBundle的时候,unity会找到这个资源用到的所有guid,然后把它们放在一起,形成.bundle文件。
Unity资源优化,资源包AssetBundle管理
最新推荐文章于 2025-04-17 23:01:59 发布