This commit is contained in:
陈思海 2025-03-14 19:58:50 +08:00
parent b6d8704c75
commit 4e748252a4

View File

@ -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,6 +206,7 @@ public static class EditorSpriteSaveInfo
.ToList();
}
#if UNITY_2022_1_OR_NEWER
private static void ConfigureAtlasV2Settings(SpriteAtlasImporter atlasImporter)
{
void SetPlatform(string platform, TextureImporterFormat format)
@ -228,6 +234,35 @@ public static class EditorSpriteSaveInfo
};
atlasImporter.packingSettings = packingSettings;
}
#else
private static void ConfigureAtlasV2Settings(SpriteAtlasAsset spriteAtlasAsset)
{
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);
}