Editor-аддон для Godot 4.7: нарезка PNG-атласа на AtlasTexture .tres. Объединяет два
режима в одном UI и добавляет рефреш с сохранением UID.
Объединяет прежние atlas_texture_slicer (сетка) и atlas_auto_slicer (авто по альфе).
Студийный аддон Abyss Moth, ставится в addons/abyss_moth/atlas_forge/.
- Сетка (клетки) - для художника, который рисует спрайты по порядку одним размером. Задаёшь размер клетки, смещение, количество (0 = все). Опционально обрезает прозрачные края внутри клетки и пропускает пустые клетки.
- Авто (альфа-кляксы) - для художника, который рисует в случайных местах разного размера. Находит спрайты по альфа-каналу (флуд-филл), объединяет близкие боксы по зазору, нумерует в порядке чтения. Параметры: порог альфы, зазор, мин. размер бокса.
- Выбор PNG: кнопка
...(диалог) илиИз FS(взять выбранный файл в FileSystem). - Папка вывода:
...(диалог),Из FS(выбранная папка),Авто(сброс). По умолчанию - подпапка с именем PNG рядом с ним (можно выключить галкой). - Базовое имя, число нулей в номере, стартовый номер.
Открыть закреплённое окно- панель отдельным окном поверх редактора.
Включи Режим рефреша и нарежь снова после перерисовки атласа.
Рядом с выводом ведётся <base>.atlas_forge.json со слотами {index, path, uid, region}.
При рефреше новые регионы матчатся к слотам: в режиме сетки - по порядку, в авто - по
перекрытию областей. Существующий .tres находится по своему UID (а не по имени файла)
и обновляется на месте.
- Совпал со слотом -> регион у существующего
.tresобновляется, UID и путь те же, все ссылки в сценах/UI целы. - Переименовал
.tresи нажал рефреш -> он найдётся по UID из sync, а не по имени. Дубль не создаётся: это тот же "5-й из 100". - Новый регион без пары -> новый пронумерованный
.tres. - Слот без совпадения (спрайт убрали) -> его
.tresне трогается, попадает в счётчик сирот.
Если sync-файла ещё нет (старые проекты), рефреш соберёт слоты из существующих .tres,
глядящих на этот атлас, и дальше поведёт их по UID.
atlas_forge/
plugin.cfg / atlas_forge_plugin.gd # @tool EditorPlugin: dock-панель (вкладка справа)
atlas_forge_dock.gd # UI обоих режимов + оркестрация
core/
blob_detector.gd # авто-детект по альфе (статические функции)
grid_slicer.gd # сеточная нарезка + trim (статические функции)
atlas_sync.gd # create/refresh, sync JSON, UID-матч и запись