Get the default platform specific texture settings.
//把UI图片设置为只读,减少内存占用 public void OnPreprocessTexture() { UnityEditor.TextureImporter importer = this.assetImporter as UnityEditor.TextureImporter; if (importer == null) { return; } var andSettings = new TextureImporterPlatformSettings(); var iosSettings = new TextureImporterPlatformSettings(); andSettings.name = "Android"; iosSettings.name = "iPhone"; andSettings.overridden = true; iosSettings.overridden = true; andSettings.compressionQuality = iosSettings.compressionQuality = 50; andSettings.format = TextureImporterFormat.ETC2_RGBA8; andSettings.androidETC2FallbackOverride = AndroidETC2FallbackOverride.Quality32Bit; iosSettings.format = TextureImporterFormat.ASTC_6x6; andSettings.maxTextureSize = iosSettings.maxTextureSize = 1024;//NOTE 如果有特殊需求可通过配置修改 importer.SetPlatformTextureSettings(andSettings); importer.SetPlatformTextureSettings(iosSettings); var rootDir = importer.assetPath.Split('/')[1]; if (rootDir == KEngineDef.ResourcesEditDir) { if (importer.isReadable) { importer.isReadable = false; } if (importer.assetPath.StartsWith(KEngineDef.UIPath)) { if (assetPath.Contains("Fonts")) { importer.textureType = TextureImporterType.Default; } else { importer.textureType = TextureImporterType.Sprite; } importer.mipmapEnabled = false; //NOTE 根据项目的实际情况,是把同一种类所有icon打到一个ab中,还是每个icon打成一个ab } else if (importer.assetPath.Contains("Character")) { if (!(importer.assetPath.Contains("Character/Hero") || importer.assetPath.Contains("Character/Hair"))) { importer.textureType = TextureImporterType.Default; importer.mipmapEnabled = false; } } else if (importer.assetPath.Contains(".exr")) { //Debug.Log("lightmap settings: " + importer.assetPath); importer.textureType = TextureImporterType.Lightmap; #if UNITY_2018_3_OR_NEWER importer.textureCompression = TextureImporterCompression.Uncompressed; var ftm = importer.GetDefaultPlatformTextureSettings(); ftm.format = TextureImporterFormat.RGBA32; importer.SetPlatformTextureSettings(ftm); #else importer.textureFormat = TextureImporterFormat.AutomaticTruecolor; #endif importer.wrapMode = TextureWrapMode.Clamp; //importer.mipmapEnabled = false; } } else { if (importer.assetPath.Contains("Editor/GameTools/XSceneTool/MapImages")) { importer.textureType = TextureImporterType.Default; importer.mipmapEnabled = false; importer.npotScale = TextureImporterNPOTScale.None; if (!importer.isReadable) { importer.isReadable = true; } } } }