아틀라스 패킹 기능 추가

This commit is contained in:
NTG 2025-08-18 16:25:53 +09:00
parent bcf28ee7c3
commit 57a7a1bcdd

View File

@ -234,6 +234,14 @@ public static void CreateAtlas(string path, string destPath)
sRGB = true,
generateMipMaps = false
};
// 저장 후 설정 반영을 위해 동기 임포트, 그리고 즉시 패킹 수행
AssetDatabase.ImportAsset(destPath, ImportAssetOptions.ForceUpdate | ImportAssetOptions.ForceSynchronousImport);
var packedAtlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>(destPath);
if (packedAtlas != null)
{
SpriteAtlasUtility.PackAtlases(new[] { packedAtlas }, EditorUserBuildSettings.activeBuildTarget);
}
}
public static void CreateSingleAtlas(string path, string destPath)
@ -277,18 +285,34 @@ public static void CreateSingleAtlas(string path, string destPath)
sRGB = true,
generateMipMaps = false
};
// 저장 후 설정 반영을 위해 동기 임포트, 그리고 즉시 패킹 수행
AssetDatabase.ImportAsset(destPath, ImportAssetOptions.ForceUpdate | ImportAssetOptions.ForceSynchronousImport);
var packedAtlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>(destPath);
if (packedAtlas != null)
{
SpriteAtlasUtility.PackAtlases(new[] { packedAtlas }, EditorUserBuildSettings.activeBuildTarget);
}
}
public static void BuildTarget()
{
foreach (var path in TargetPaths)
AssetDatabase.StartAssetEditing();
try
{
CreateAtlas(Utils.FolderPath(path),
Utils.FolderPath(path).Replace(PathConstants.RawFolderPath, PathConstants.AddressablesFolderPath) +
ExtenstionConstants.SpriteAtlasExtenstionLower);
foreach (var path in TargetPaths)
{
CreateAtlas(Utils.FolderPath(path),
Utils.FolderPath(path).Replace(PathConstants.RawFolderPath, PathConstants.AddressablesFolderPath) +
ExtenstionConstants.SpriteAtlasExtenstionLower);
}
}
finally
{
AssetDatabase.StopAssetEditing();
AssetDatabase.Refresh();
TargetPaths.Clear();
}
TargetPaths.Clear();
}
}
}