译官方文档:http://docs.unity3d.com/Manual/ReducingFilesize.html PDF文档:http://www.rukawa.cn/Uploads/Attachment/ReducingFilesize/ReducingFilesize.pdf 原文地址:http://www.rukawa.cn/index.php?s=/home/article/detail/id/27.html 需要这么做的目的和好处就不多说了。 第一步要做的就是:看看哪些文件是最占空间的,那么它们就是首选优化对象了。 你可以在刚刚完成一次build之后在“Editor Log”中找到这些信息。 如何打开Editor Log:
在Mac上看起来就是这样的了: 常可以忽略这些数据的大小,但如果在你的“Resources”文件夹里有着十分庞大的资源文件的话,这些数据也可能会很大。。 1、Unity再编码会把资源导成它自己的内部格式,所以资源源文件的类型是不相干的。比如你有一个多图层的PS纹理,那么在 build之前它就会被拼接、压缩。所以刻意把这份纹理转成PNG格式其实对减少包大小并没有帮助。在开发时还是用最方便的 格式就好了。 (不过它们不占资源),还有“Resources”文件夹里的全部资源,也是不会自动帮你删除的(因为Unity无法判断这里面哪些 是需要用到的)。所以我们要确保“Resources”文件夹里的都是我们真正要用到的。当然,你还可以通过动态加载 AssetBundles的方式来代替“Resources”文件夹里的资源,以减少包大小。 一些建议:纹理(Textures)纹理通常会占据大部分空间。第一步要做的就是选用经压缩的纹理格式(DXT 或者 PVRTC)。 如果这样没有减少它的所占用空间,那么试试缩小纹理的尺寸吧。你不需要对资源本身进行修改,只要在 Project 下选中纹理, 然后在 Inspectpr 下设置Max Size就行了。 object,直到它看起来比较糟糕,就可以知道怎样是最合适的了。。
由以上几张图对比来看,我们就能发现,选择512甚至256的Max Size,效果都是可以的,而且资源大小也能有显著的减少。 修改纹理的Max Size并不会影响到资源本身,只是改变了它在游戏里的分辨率。下表列出了不同图片格式所占用空间的大小 (单位bpp:字节/像素) 网格与动画(Meshes and Animations)网格与导入的动画(Animation Clips)都可以被压缩。在选中一个模型之后, 就可以在Inspector中进行设置了。 是减少数据文件的大小,并不会减少运行时的内存消耗。而减少动画关键帧,则会让两者都有所减少,一般情况下我们都 应该开启。 动态链接库(DLLs)默认情况下,Unity只会在build时包含以下dll: 只有少数几个在System.dll里,所以可能的话,也应该避免使用到它。 减少手机上使用的 .NET 库的大小Unity为移动设备提供了两套 .NET 的 API:.NET 2.0 和.NET 2.0 Subset .NET 2.0 提供了几乎整套的API功能,但是很多时候游戏都用不上那么多,导致大量多余的代码占用了宝贵的空间资源。为了 避免浪费,我们就可以用Unity提供的 .NET 2.0 Subset(相当于.NET 2.0的一个子集)。为节省资源,这里面很多一般用不到 的例程库都被移除了,所以这一优化也会是很有用的,只是需要确保我们的代码能够正常工作。 可在“Player Settings”中进行设置
|
Unity3D如何减少安装包大小
最新推荐文章于 2024-07-13 17:46:38 发布