Skip to content

Repository files navigation

Abyss Moth Atlas Forge

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 рядом с ним (можно выключить галкой).
  • Базовое имя, число нулей в номере, стартовый номер.
  • Открыть закреплённое окно - панель отдельным окном поверх редактора.

Рефреш с сохранением UID (главное)

Включи Режим рефреша и нарежь снова после перерисовки атласа.

Рядом с выводом ведётся <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-матч и запись

About

Слайсер атласов для Godot: сетка + авто по альфа-кляксам в одном UI, выбор из FileSystem, рефреш с сохранением UID (переименование .tres не плодит дубли).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages