private static void ConvertAtlasFormat(BuildTarget bt, QualityEnum qe) { #if UNITY_2018 var dirs = new List <string>(); GetDirs(Application.dataPath, ref dirs, @"\.spriteatlas$"); foreach (var t in dirs) { //Debug.Log(string.Format("== SpriteAtlas 路径为: {0} ==", dirs[i])); var sa = AssetDatabase.LoadAssetAtPath <SpriteAtlas>(t); sa.SetIncludeInBuild(true); //TODO var saps = sa.GetPackingSettings(); saps.enableRotation = false; saps.enableTightPacking = false; sa.SetPackingSettings(saps); var platName = GetPlatName(bt); var tips = sa.GetPlatformSettings(platName); if (tips == null) { continue; } tips.overridden = true; tips.format = GetImageQuality(bt, qe); //tips.compressionQuality = (int)TextureCompressionQuality.Normal; TODO sa.SetPlatformSettings(tips); } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.LogWarning($"==== 完成对应品质的Atlas转换: {qe.ToString()}===="); #endif }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { QualityEnum quality = (QualityEnum)(value); return(quality.ToString()); }
private static void ConvertImgFormat(BuildTarget bt, QualityEnum qe, bool isRestore = false) { var imageBase = new TextureImporterPlatformSettings { overridden = true, name = bt.ToString(), //maxTextureSize = 2048, format = TextureImporterFormat.RGBA32, //compressionQuality = (int)TextureCompressionQuality.Best, TODO allowsAlphaSplitting = false }; var dirs = new List <string>(); GetDirs(Application.dataPath, ref dirs, @"\.((pn)|(jp))g$"); foreach (var t in dirs) { var lowName = t.ToLowerInvariant(); var valid = false; foreach (var t1 in _checkDirs) { var lowDir = t1.ToLowerInvariant(); if (!lowName.Contains(lowDir)) { continue; } valid = true; break; } if (!valid) { continue; } var importer = AssetImporter.GetAtPath(t) as TextureImporter; //if (!importer.textureType.Equals(TextureImporterType.Sprite)) //{ // Debug.LogError(string.Format("==检测到非Sprite资源== path:{0}", dirs[j])); // continue; //} if (!isRestore) { imageBase.format = GetImageQuality(bt, qe, importer.DoesSourceTextureHaveAlpha()); importer.SetPlatformTextureSettings(imageBase); importer.mipmapEnabled = false; } else { importer.ClearPlatformTextureSettings(bt.ToString()); //importer.SaveAndReimport(); } //image_base = importer.GetPlatformTextureSettings(BuildTarget.Android.ToString()); //Debug.Log(string.Format("==检测到资源== path:{0} overridden:{1} name:{2} maxTextureSize:{3} format:{4} compressionQuality:{5} allowsAlphaSplitting:{6} crunchedCompression:{7}", // dirs[j], Android_png.overridden, // Android_png.name, Android_png.maxTextureSize, // Android_png.format, Android_png.compressionQuality, // Android_png.allowsAlphaSplitting, Android_png.crunchedCompression)); } AssetDatabase.Refresh(); //} Debug.LogWarning( $"==图片转换处理结束== 对象平台:{bt.ToString()} 处理数量:{dirs.Count} 品质:{qe.ToString()}"); }