Unity,APK大小优化
一个手机游戏到了开发的后期,一个最重要的步骤就是优化APK包的大小。主要优化贴图,模型,和声音。本文主要讲述如何批量优化这三种资源。
对于贴图资源可以修改贴图的最大Max Size 和Format来减少贴图资源的大小(也只能用这种方法)。
如何项目中有好几十张贴图需要做这有的优化,或者需要在高清版和低配版之前切换,这样的修改就有些蛋疼了。这种情况可以使用Unity的编辑器代码来批量修改。
static void CompressTexture(string strPath)
{
int index= strPath.IndexOf("Assets");
strPath=strPath.Remove(0,index);
TextureImporter tImp= (TextureImporter)TextureImporter.GetAtPath(strPath);
tImp.textureFormat=TextureImporterFormat.ARGB16;
//tImp.maxTextureSize=tImp.maxTextureSize/2;
tImp.SetPlatformTextureSettings("Android",tImp.maxTextureSize/2,TextureImporterFormat.ARGB16);
AssetDatabase.ImportAsset(strPath);
}
通过以上代码修改一个贴图在Android平台的的大小和格式。如果是其他平台的,可以使用SetPlatformTextureSettings函数做具体的修改。
对于声音,可以修改Audio Format 和 Compression 来控制大小。
static void CompressAudio(string strPath)
{
int index= strPath.IndexOf("Assets");
strPath=strPath.Remove(0,index);
AudioImporter aImp=(AudioImporter)AudioImporter.GetAtPath(strPath);
aImp.threeD=false;
aImp.compressionBitrate=32;
AssetDatabase.ImportAsset(strPath);
}
对于3d 模型可以修改 模型压缩和动画帧来修改资源大小。
static void CompressFbx(string strPath)
{
int index= strPath.IndexOf(