2017-10-10 103 views
4

我使用C#制作一个简单的测试游戏unity3d APK大小,我的游戏的APK的大小为70个MB.I降低了每过精灵的分辨率,但它仍然58 MB ,我如何压缩游戏,以便apk文件的大小最小。如何压缩在unity3d

回答

2

除了由Unity themselves这短短的指导下,有几件事情要记住:

  1. 文件未使用或依赖于统一建设时被删除。
  2. 纹理,音乐和视频占用大部分的大小。声音文件理想情况下应该是.mp3格式(否则.wav为非常短的剪辑)。

我建议你通过上面的链接并正确地分析Editor.log,因为它提供了有价值的信息来修剪构建大小。

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% 

如何查找编辑文件:为缩小图像尺寸https://docs.unity3d.com/Manual/LogFiles.html

0

一个最有效和最重要的变化是

设置你的图像大小广场和

设置统一提示像素(32。 ,64,128,256,512,1024,2048,4096,8192)

如果图像尺寸是567x890像素,然后在1024×1024像素设置该图像s背景透明的空白图像,并保存为一个PNG文件。

然后在统一检查器中设置该图像作为精灵和精灵通过编辑切它。 此过程将使您的图像尺寸减少至少20%。

实施例图像和变化如下。

前:分辨率567x890像素,大小1.9MB

后:分辨率1024×1024像素,大小为1。3MB

结果:大小0.6MB减少了近32%。

图片文件链接:https://drive.google.com/file/d/0B9zkzr6JdNYlaHhqcDVUSk9KNjA/view

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。