我正在使用c#在unity3d中制作一个简单的测试游戏,我的游戏apk的大小是70 MB。我已经降低了每个精灵的分辨率,但它仍然是58 MB,我如何压缩游戏所以apk文件的大小可能最小。
答案 0 :(得分:2)
除了Unity themselves之后的这篇简短指南外,还有几点需要注意:
.mp3
格式(对于非常短的剪辑,则为.wav
。)我建议您浏览上面的链接并正确分析Editor.log
,因为它提供了有价值的信息来修剪构建大小。
答案 1 :(得分:1)
您也可以选择将设备过滤器设置为Arm7。这将排除某些设备,但我相信这个数字很小,它确实最小化了apk大小。 (这位于播放器设置 - >其他设置 - >设备过滤器)。您可以尝试构建并查看它将减少多少并确定它是否值得。
有关设备过滤器的一些信息:http://answers.unity3d.com/questions/971648/device-filter-to-arm-7-only.html
此外,如果您查看编辑器构建文件,您可以找到有关占用构建中大部分空间的信息(这是一个很长的日志,因此您必须搜索正确的部分)。在进行构建之后应该有一个部分,它将列出占用的空间。随后将显示从最大到最小的资产列表,以便您可以识别可能过大的特定资产。
E.g。
Build Report
Uncompressed usage by category:
Textures 81.1 mb 92.0%
Meshes 0.0 kb 0.0%
Animations 17.1 kb 0.0%
Sounds 0.0 kb 0.0%
Shaders 90.0 kb 0.1%
Other Assets 549.9 kb 0.6%
Levels 338.3 kb 0.4%
Scripts 993.0 kb 1.1%
Included DLLs 5.1 mb 5.8%
File headers 33.1 kb 0.0%
Complete size 88.2 mb 100.0%
答案 2 :(得分:0)
减少图像尺寸的一个最有效和最重要的变化是
如果您的图像尺寸为567x890像素,则将此图像设置为1024x1024像素的背景透明空白图像,并将其另存为png文件。
然后在unity inspector中将此图像设置为精灵并通过精灵编辑器对其进行切片。 此过程将使您的图像大小减少至少20%。
下面给出了示例图片和更改。
之前:分辨率567x890像素,大小1.9MB
之后:分辨率1024x1024像素,大小1.3MB
结果:大小减少0.6MB,差不多32%。
图片文件链接:https://drive.google.com/file/d/0B9zkzr6JdNYlaHhqcDVUSk9KNjA/view
答案 3 :(得分:0)
设置纹理/精灵压缩格式也很好。
查看本网站: https://docs.unity3d.com/Manual/class-TextureImporterOverride.html
大多数纹理压缩格式需要2分辨率(128,256,512,1024,2048)的图像。第4096和8192号决议可能无法在某些Android设备上运行。
例如,使用RGB ETC2压缩在1024x1024分辨率下没有alpha的纹理在内存中占用大约0.5MB。压缩格式为RGB 16bit的图像1280x800需要2MB。