From 4e748252a4fc543b3702bf6db6de848451367eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <1464576565@qq.com> Date: Fri, 14 Mar 2025 19:58:50 +0800 Subject: [PATCH] modify --- .../Atlas/EditorSpriteSaveInfo.cs | 84 +++++++++++++------ 1 file changed, 60 insertions(+), 24 deletions(-) diff --git a/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs b/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs index 3ad5b5d..43ecc50 100644 --- a/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs +++ b/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs @@ -173,8 +173,13 @@ public static class EditorSpriteSaveInfo AssetDatabase.Refresh(); EditorApplication.delayCall += () => { +#if UNITY_2022_1_OR_NEWER SpriteAtlasImporter sai = (SpriteAtlasImporter)AssetImporter.GetAtPath(outputPath); ConfigureAtlasV2Settings(sai); +#else + ConfigureAtlasV2Settings(spriteAtlasAsset); + SpriteAtlasAsset.Save(spriteAtlasAsset, outputPath); +#endif AssetDatabase.WriteImportSettingsIfDirty(outputPath); AssetDatabase.Refresh(); }; @@ -201,33 +206,63 @@ public static class EditorSpriteSaveInfo .ToList(); } - private static void ConfigureAtlasV2Settings(SpriteAtlasImporter atlasImporter) - { - void SetPlatform(string platform, TextureImporterFormat format) +#if UNITY_2022_1_OR_NEWER + private static void ConfigureAtlasV2Settings(SpriteAtlasImporter atlasImporter) { - var settings = atlasImporter.GetPlatformSettings(platform); - if (settings == null) return; - ; - settings.overridden = true; - settings.format = format; - settings.compressionQuality = Config.compressionQuality; - atlasImporter.SetPlatformSettings(settings); + void SetPlatform(string platform, TextureImporterFormat format) + { + var settings = atlasImporter.GetPlatformSettings(platform); + if (settings == null) return; + ; + settings.overridden = true; + settings.format = format; + settings.compressionQuality = Config.compressionQuality; + atlasImporter.SetPlatformSettings(settings); + } + + SetPlatform("Android", Config.androidFormat); + SetPlatform("iPhone", Config.iosFormat); + SetPlatform("WebGL", Config.webglFormat); + + var packingSettings = new SpriteAtlasPackingSettings + { + padding = Config.padding, + enableRotation = Config.enableRotation, + blockOffset = Config.blockOffset, + enableTightPacking = Config.tightPacking, + enableAlphaDilation = true + }; + atlasImporter.packingSettings = packingSettings; } - - SetPlatform("Android", Config.androidFormat); - SetPlatform("iPhone", Config.iosFormat); - SetPlatform("WebGL", Config.webglFormat); - - var packingSettings = new SpriteAtlasPackingSettings +#else + private static void ConfigureAtlasV2Settings(SpriteAtlasAsset spriteAtlasAsset) { - padding = Config.padding, - enableRotation = Config.enableRotation, - blockOffset = Config.blockOffset, - enableTightPacking = Config.tightPacking, - enableAlphaDilation = true - }; - atlasImporter.packingSettings = packingSettings; - } + void SetPlatform(string platform, TextureImporterFormat format) + { + var settings = spriteAtlasAsset.GetPlatformSettings(platform); + if (settings == null) return; + ; + settings.overridden = true; + settings.format = format; + settings.compressionQuality = Config.compressionQuality; + spriteAtlasAsset.SetPlatformSettings(settings); + } + + SetPlatform("Android", Config.androidFormat); + SetPlatform("iPhone", Config.iosFormat); + SetPlatform("WebGL", Config.webglFormat); + + var packingSettings = new SpriteAtlasPackingSettings + { + padding = Config.padding, + enableRotation = Config.enableRotation, + blockOffset = Config.blockOffset, + enableTightPacking = Config.tightPacking, + enableAlphaDilation = true + }; + spriteAtlasAsset.SetPackingSettings(packingSettings); + } +#endif private static void ConfigureAtlasSettings(SpriteAtlas atlas) { @@ -249,6 +284,7 @@ public static class EditorSpriteSaveInfo padding = Config.padding, enableRotation = Config.enableRotation, blockOffset = Config.blockOffset, + enableTightPacking = Config.tightPacking, }; atlas.SetPackingSettings(packingSettings); }