godot4-isometric-tilemap — скилл для Claude Code: изометрия в Godot 4
Настраивает 2:1 изометрию в Godot 4 через TileMapLayer и Y-sort: правильный порядок отрисовки, без ручных смещений спрайтов.
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a claude-codeЧто делает godot4-isometric-tilemap
Скилл нужен, когда изометрическая сцена в Godot 4 рисуется криво: персонаж уходит за тайл, который должен быть позади, тайлы наезжают друг на друга, а клик мышью выбирает не ту клетку. Внутри — пошаговый процесс из шести пунктов и таблица отговорок, которые мешают сделать правильно.
Сначала задаётся TileSet: Tile Shape = Isometric, Tile Layout = Diamond Down, размер тайла под 2:1 (например, 64x32). Земля кладётся на TileMapLayer, у слоя и родительского узла включается Y Sort Enabled. Каждому подвижному спрайту y_sort_origin ставится в точку опоры у ног, а не в верх. Координаты переводятся встроенными local_to_map() и map_to_local() — свой расчёт писать не надо, он ломается при зуме и сортировке.
Главное условие: один размер тайла и одно соглашение об якоре на всех слоях и сценах. Смешаете — сортировка поедет, и никакие ручные подгонки смещений это не вылечат. Скилл рассчитан на Godot 4.3+ и TileMapLayer.
Какие задачи решает
- починить порядок отрисовки персонажа относительно высоких объектов
- настроить TileSet под 2:1 изометрию с первого раза
- убрать ручные пиксельные смещения спрайтов
- выбирать клетку под курсором без промахов
- свести все слои к одному размеру тайла и якорю
Примеры запросов агенту
- Настрой изометрический TileSet в Godot 4: Diamond Down, тайл 64x32
- Персонаж рисуется поверх тайла, который должен его перекрывать — исправь через Y-sort и
y_sort_origin - Сделай подсветку клетки под курсором через
local_to_map()иmap_to_local()
Как установить godot4-isometric-tilemap
1Через Skills CLI (Vercel)
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a claude-code2Вручную: положить файлы
~/.claude/skills/godot4-isometric-tilemap/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/godot4-isometric-tilemap/
1Через Skills CLI (Vercel)
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a codex2Вручную: положить файлы
.agents/skills/godot4-isometric-tilemap/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a cursor2Вручную: положить файлы
.cursor/skills/godot4-isometric-tilemap/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install 0xheycat/isometric-game-skills godot4-isometric-tilemap2Вручную: положить файлы
.github/skills/godot4-isometric-tilemap/SKILL.md1Через Skills CLI (Vercel)
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a gemini-cli2Командой платформы
gemini skills install https://github.com/0xheycat/isometric-game-skills --path skills/godot4-isometric-tilemapВручную: положить файлы
.devin/skills/godot4-isometric-tilemap/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о godot4-isometric-tilemap
Как установить godot4-isometric-tilemap в Claude Code?
Выполните npx skills add 0xheycat/isometric-game-skills --skill godot4-isometric-tilemap -a claude-code. Скилл появится по пути ~/.claude/skills/godot4-isometric-tilemap/SKILL.md.
Что делает godot4-isometric-tilemap?
Проводит по настройке 2:1 изометрии в Godot 4: форма и раскладка тайлов, Y-sort, якорь спрайтов, перевод координат встроенными методами TileMapLayer.
Какая версия Godot нужна?
Godot 4.3 и новее — скилл опирается на TileMapLayer.
Исходный текст
SKILL.md · MIT
--- name: godot4-isometric-tilemap description: Use when setting up correct 2:1 isometric rendering in Godot 4 with TileMapLayer + Y-sort, mapping this repo's engine-agnostic grid math and depth rules onto Godot's native APIs. license: MIT --- # Godot 4 Isometric TileMap ## Overview Godot 4 supports isometric natively, but the defaults fight you: wrong tile shape, broken draw order, and magic pixel offsets that look fine until something moves. This skill maps the repo's tested concepts (grid math, depth sorting) onto Godot's `TileMapLayer` + Y-sort so it is correct the first time. ## When to Use - Starting an isometric scene in Godot 4 (4.3+, `TileMapLayer`). - Characters draw in front of / behind tiles they should not. - Tiles overlap, or mouse picking selects the wrong cell. ## Process 1. TileSet: set Tile Shape = **Isometric**, Tile Layout = **Diamond Down**, and Tile Size to your 2:1 footprint (e.g. 64x32). 2. Put ground on a `TileMapLayer`. For anything that must sort against characters, enable **Y Sort Enabled** on the layer and its parent node. 3. Set each movable sprite's `y_sort_origin` to the tile's feet/anchor (not its top). This is Godot's version of the `depth = col + row` rule (see depth-sorting-occlusion). 4. Convert coordinates with the built-ins `local_to_map()` / `map_to_local()` instead of hand-rolled offsets (mirrors isometric-grid-math). 5. Mouse picking: `local_to_map(get_local_mouse_position())` to get the cell, then `map_to_local()` to snap a highlight (see tile-picking-interaction). 6. Keep ONE tile size and anchor convention across every layer and scene. ```gdscript # grid <-> world: let Godot do the iso math var cell: Vector2i = ground.local_to_map(ground.get_local_mouse_position()) var world: Vector2 = ground.map_to_local(cell) # center of that tile ``` ## Rationalizations (Stop Lying to Yourself) | Excuse | Reality | |---|---| | "I'll nudge sprite offsets until it lines up" | Manual offsets break under Y-sort and zoom. Set `y_sort_origin` to the anchor. | | "I'll write the iso math myself" | `local_to_map` / `map_to_local` are exact and tested. Use them. | ## Red Flags - STOP if you catch yourself: - Y Sort disabled, or `y_sort_origin` left at the default (0,0). - Hand-written screen<->grid math instead of the `TileMapLayer` API. - Mixed tile sizes or anchors across layers. ## Verification You are NOT done until every box is checked: - [ ] TileSet shape = Isometric, layout = Diamond Down, 2:1 tile size. - [ ] Y Sort on; a character sorts correctly walking around a tall object. - [ ] Picking via `local_to_map` selects the cell under the cursor. - [ ] Round-trip `local_to_map(map_to_local(cell))` returns the same cell.
© 0xheycat · MIT · 0xheycat/isometric-game-skills