AlicizaX/Client/Assets/Books/EditorExtension/AtlasPostprocessor.md
2026-04-01 13:20:06 +08:00

2.4 KiB

EditorExtension Atlas 自动图集模块手册

模块概述

该模块位于 Editor/Postprocessor/Atlas,用于维护图集配置、响应 Sprite 导入/删除、标记脏图集并执行全量生成。

适用场景

  • 以目录为单位自动生成 UI 图集。
  • 不同平台使用不同压缩格式。
  • 导入资源时自动更新图集状态。

快速上手

打开配置窗口

  • 菜单:Tools/Extension/图集工具/Configuration Panel

全量生成

EditorSpriteSaveInfo.ForceGenerateAll();

模块组成

  • AtlasConfiguration:图集配置单例。
  • AtlasConfigWindow:配置窗口。
  • EditorSpriteSaveInfo:缓存、脏标记、全量生成。
  • SpritePostprocessor:接入 Unity 导入流程。

可调用 API

类型:AtlasConfiguration

源码:Packages/com.alicizax.unity.editor.extension/Editor/Postprocessor/Atlas/AtlasConfiguration.cs

公开配置字段

  • outputAtlasDir
  • sourceAtlasRoot
  • androidFormat
  • iosFormat
  • webglFormat
  • padding
  • enableRotation
  • blockOffset
  • tightPacking
  • compressionQuality
  • autoGenerate
  • enableLogging
  • enableV2
  • excludeKeywords
  • excludeFolders

示例:

AtlasConfiguration.Instance.autoGenerate = true;
AtlasConfiguration.Save(true);

类型:AtlasConfigWindow

public static void ShowWindow()

  • 作用:打开图集配置窗口。

类型:EditorSpriteSaveInfo

源码:Packages/com.alicizax.unity.editor.extension/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs

public static void ConvertToSprite(string assetPath)

  • 作用:把资源路径转换或校正为 Sprite 导入设置。

public static void OnImportSprite(string assetPath)

  • 作用:处理 Sprite 导入。

public static void OnDeleteSprite(string assetPath)

  • 作用:处理 Sprite 删除。

public static void ForceGenerateAll()

  • 作用:全量生成图集。

public static void ClearCache()

  • 作用:清理模块缓存。

public static void MarkParentAtlasesDirty(string assetPath)

  • 作用:标记资源所在父图集为脏。

类型:SpritePostprocessor

  • 说明:继承 AssetPostprocessor,作为导入事件入口,本身无额外公开调用接口。

注意事项

  • 建议原图目录与输出目录严格分离。
  • 开启自动生成时,排除目录和关键字要统一维护。