Atlas工具增加2021版本支持

目前支持2021.x  ~ 6000.x
This commit is contained in:
陈思海
2025-03-14 19:56:05 +08:00
parent 3dc478c509
commit fae2afd3c8

View File

@@ -173,10 +173,16 @@
spriteAtlasAsset.Add(sprites.ToArray()); spriteAtlasAsset.Add(sprites.ToArray());
SpriteAtlasAsset.Save(spriteAtlasAsset, outputPath); SpriteAtlasAsset.Save(spriteAtlasAsset, outputPath);
AssetDatabase.Refresh(); AssetDatabase.Refresh();
EditorApplication.delayCall += () => EditorApplication.delayCall += () =>
{ {
#if UNITY_2022_1_OR_NEWER
SpriteAtlasImporter sai = (SpriteAtlasImporter)AssetImporter.GetAtPath(outputPath); SpriteAtlasImporter sai = (SpriteAtlasImporter)AssetImporter.GetAtPath(outputPath);
ConfigureAtlasV2Settings(sai); ConfigureAtlasV2Settings(sai);
#else
ConfigureAtlasV2Settings(spriteAtlasAsset);
SpriteAtlasAsset.Save(spriteAtlasAsset, outputPath);
#endif
AssetDatabase.WriteImportSettingsIfDirty(outputPath); AssetDatabase.WriteImportSettingsIfDirty(outputPath);
AssetDatabase.Refresh(); AssetDatabase.Refresh();
}; };
@@ -203,6 +209,8 @@
.ToList(); .ToList();
} }
#if UNITY_2022_1_OR_NEWER
private static void ConfigureAtlasV2Settings(SpriteAtlasImporter atlasImporter) private static void ConfigureAtlasV2Settings(SpriteAtlasImporter atlasImporter)
{ {
void SetPlatform(string platform, TextureImporterFormat format) void SetPlatform(string platform, TextureImporterFormat format)
@@ -230,6 +238,36 @@
}; };
atlasImporter.packingSettings = packingSettings; 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) private static void ConfigureAtlasSettings(SpriteAtlas atlas)
{ {
@@ -251,6 +289,7 @@
padding = Config.padding, padding = Config.padding,
enableRotation = Config.enableRotation, enableRotation = Config.enableRotation,
blockOffset = Config.blockOffset, blockOffset = Config.blockOffset,
enableTightPacking = Config.tightPacking,
}; };
atlas.SetPackingSettings(packingSettings); atlas.SetPackingSettings(packingSettings);
} }