FantasyDR 发表于 2023-5-9 09:28:59

【教程】RMU的项目为什么这么大?该如何优化?

估计一路上玩RM的小伙伴都震惊了,为什么一个RMU的项目会如此之大呢(2G)?
而且在Unity导入之后为什么变得更大了呢(10G)?
在这里我大概解释解释,毕竟这不仅仅是RMU的坑,还有Unity的坑。
希望未来的RMU版本可以修正一下这些问题,游戏本来不需要这么大和这么慢的。

首先是什么东西在占用空间,RMU的游戏组成无非就3部分:
1、图像
a) 所有人物啊特效啊等的图片(PNG)。
b) 组成地图的砖块(Tile Map)元件图片。
c) 用来显示字体的字体图片(Sdf Font)。
2、声音
a) 音效(Ogg)
b) 音乐(Wav)
3、数据
就是你在编辑器里填写的各项数值,事件等等。(Json)

括号里就是这些资源对应的在Unity里面使用的文件格式。
它们都放在你的项目的Assets文件夹里面。

Unity在打开一个项目之后,它并不会直接来使用这个原始的文件。
比如一张图,它在硬盘上是个PNG,非常的小,因为PNG是被无损压缩起来的。
但是在游戏引擎里直接读这张图的话,需要先解压缩,然后转换成显示的时候指定的格式,然后再交给显卡,就很慢。
Unity在第一次打开项目的时候,会把PNG先解压缩,变成一个对显卡更友好的格式,但是代价是文件会变大。
其他的Ogg还有Wav都同理,会被拷贝一份并且转换成读取速度更快的格式。

这样处理之后,被转换的文件还有一些杂七杂八的数据,就被存放在了
Library(主要是这个目录)
Logs
obj
Temp
这些目录中,这些目录可以删除并不会影响你的游戏,代价是下次打开又得重新生成,非常慢。
所以如果你硬盘空间不足,但是项目很多,可以删掉一时半会儿不会打开的项目里的这些目录。

除了Assets目录和上面所说的Unity第一次打开游戏生成的目录,其他目录里放的是Unity项目的配置文件,不能删除。
包括项目的配置(ProjectSettings),引用的Unity代码包(Packages),还有用户的配置(UserSettings),以及csharp项目文件。
这些文件夹占用空间也不大,所以不必担心。

总结一下,你的RMU项目中的目录有:
Assets(RMU游戏项目,什么都别删,包括那些.meta文件)
Library(以下四个可以删,删了的话下次打开Unity会把它们重新生成,非常慢)
Logs
obj
Temp
Packages(以下三个都是项目配置,不可以删,但是也不怎么占空间)
ProjectSettings
UserSettings


通过Unity生成过版本之后,游戏的Library会进一步变大,这是为了让每一次Build变得更快,所以Unity缓存了更多数据在Library里面。
经过一次版本生成,整个项目文件夹会膨胀到(15G)之多,这已经超过很多小型商业游戏了。

接下来再详细说说Assets目录里的冗余数据以及如何优化。
页: [1]
查看完整版本: 【教程】RMU的项目为什么这么大?该如何优化?