我有一个项目团结游戏2d。当我在apk中使用70 MB构建它时,我认为它对我的游戏来说太大了。
我尝试在我的文件夹Assets \ Resources中删除一些大约6MB的图片(游戏背景的纹理)(因为我的游戏加载资源动态地基于当前级别)。然后将其重建为apk。它获得30MB。我很好奇。
当我用70MB
构建apk时,这是编辑器日志Textures 182.1 mb 95.7%
Meshes 0.0 kb 0.0%
Animations 0.0 kb 0.0%
Sounds 1.1 kb 0.0%
Shaders 42.5 kb 0.0%
Other Assets 594.9 kb 0.3%
Levels 485.3 kb 0.2%
Scripts 1.2 mb 0.6%
Included DLLs 5.1 mb 2.7%
File headers 791.0 kb 0.4%
Complete size 190.3 mb 100.0%
Used Assets, sorted by uncompressed size:
21.3 mb 11.2% Assets/Atlas/MainUIAtlas.png
16.0 mb 8.4% Assets/Atlas/SupportItems.png
12.0 mb 6.3% Assets/Resources/Backgrounds/A.jpg
12.0 mb 6.3% Assets/Resources/Backgrounds/B.jpg
12.0 mb 6.3% Assets/Resources/Backgrounds/C.jpg
12.0 mb 6.3% Assets/Resources/Backgrounds/D.jpg
9.0 mb 4.7% Assets/Resources/Map/bg_map3.jpg
9.0 mb 4.7% Assets/Resources/Map/bg_map2.jpg
9.0 mb 4.7% Assets/Resources/Map/bg_map1.jpg
9.0 mb 4.7% Assets/Resources/Map/bg_map4.jpg
8.0 mb 4.2% Assets/Resources/MainMenu/BG1.png
6.8 mb 3.5% Assets/Resources/MainMenu/BG2.png
.....
.....
我使用NGUI在Unity2d中创建UI,所以我有一些atlas文件。 但是,当我在窗口中看到它时,Assets / Atlas / MainUIAtlas.png只有734KB。为什么Unity用21.3MB压缩它?
而Assets / Resources / Backgrounds / A.jpg只有194KB,但Unity用12MB压缩它......等等。所有信息都太大,无法与窗口中的实际大小进行比较。
我是新的Unity,请帮我解释并告诉我如何解决这个问题。 非常感谢。
答案 0 :(得分:6)
仅仅因为您的资源文件大小可能是X mb,并不意味着这些资源的最终构建大小相同。当Unity3D压缩这些资源时,会出现一些手帕。要尝试降低尺寸,您可以尝试以下操作;
1)使用较低质量的压缩设置。我以前只使用ARGB32,但那是巨大的!你可能想尝试16位。根据您的资源,您可能根本不会注意到任何质量下降,但尺寸会减小。
2)禁用mit-maps。 Mit-map会使资源的大小增加约25%。如果你启用它们,但没有必要,你可以在这里节省大量空间。但是一个警告,iOS曾经包含一个错误,意味着即使禁用了mit-maps iOS仍然会分配25%的空间。不确定是否已修复。
3)从Resources文件夹中删除Atlas中的资产。默认情况下,即使您没有使用这些资产,Unity3D也会将您的Resources文件夹中的所有内容推送到最终版本中。所以试试春天的清洁,并确保那里只有你需要的东西。如果图像在Atlas中,那么它不再需要包含在最终版本中。
4)使用更多Atlas'那些更小。如果你继续添加到地图册,它的大小会呈指数增长。 1024x1024,2048x2048,4096x4096等等。问题是,你可能没有使用所有这些空间,Atlas有几百甚至几千像素的空白空间。这些数据仍然需要记录并保存在某处。确保您使用Atlas'
提高效率5)重新夹紧图像以适合您的目的。如果你有一个巨大的背景图像填满整个屏幕 - 但在任何给定的点你总是有很大一部分被你的游戏或其他功能覆盖,那么为什么不改变图像去除那些未使用的区域?如果图像总是在某个点上绘制而且您仍然包含该像素信息 - 那么这就是浪费。这样做可能会导致2-3张图像组成'例如,整体背景,切除中间或外边缘区域。
6)调整图片尺寸。你好像是针对移动设备。那么您的资源适用吗?对于具有较低分辨率的小屏幕尺寸,没有必要具有4k图像。也许你可以整体缩小图像尺寸。
答案 1 :(得分:1)
我遇到了同样的问题,试图发布精灵/纹理重型游戏。 您必须更改检查器内每个图像的渲染设置。
当你点击精灵/纹理时,你会看到'最大尺寸'和&检查器中的“格式”选项。
我不得不乱用这些设置(降低最大尺寸,使用16位格式而不是真彩色),并尝试使用PNG并删除任何死画布空间。