The 3-step recipe
- Lay out rows S to SW, top to bottom. 8 rows per sheet, always in S, SE, E, NE, N, NW, W, SW order, one cell size (this pack uses 64×64): walk 4 cols × 8 rows (256×512), run 6 cols × 8 rows (384×512), attack 4×8 (256×512), idle 2×8 (128×512), hurt 2×8 (128×512). When every sheet shares the order, one recipe imports all of them — and a flipped diagonal stops passing as a real facing. Unsure of a sheet's grid? Drop it into our free Sprite Sheet Slicer & Packer — runs 100% in your browser, no upload — and try columns × rows until each cell holds one clean pose.
- Give hits one readable frame. Walk/run loop near 8 fps, attack runs once near 10 fps, idle/hurt loop near 4 fps. Pixel-art hurt needs a single red-flash frame so the hit reads on a phone screen. Test at thumbnail size: if three silhouettes blur together, push distinctness first — for example adventurer blue swordsman vs knight grey helm + crest + greatsword vs villager green hood + staff — before adding frames.
- Name clips
<char>_<action>_<dir>and import in 3 lines. Exampleknight_walk_se. Free recipes that work on any sheets cut to the grid above:- Godot 4: AnimatedSprite2D + SpriteFrames, H/V frames set to the sheet's cols/rows, Filter Nearest + Reimport. Exporter form: attach the script, call
load_sheets("res://cas")thenplay_action("knight","walk","se"). - Unity: Texture Type Sprite (2D and UI), Filter Mode Point, Compression None, slice Multiple on the 64×64 grid per the table below.
- RPG Maker MZ/MV: drop sheets in
img/characters/and point the plugin at them. - No engine: open a canvas demo and drive it with arrows (direction), 1–5 (action), C (character) to feel all facings before you import.
- Godot 4: AnimatedSprite2D + SpriteFrames, H/V frames set to the sheet's cols/rows, Filter Nearest + Reimport. Exporter form: attach the script, call
| Sheet | Cols (frames) | Rows (dirs) | Cell | Sheet px | Start fps / loop |
|---|---|---|---|---|---|
walk_8dir | 4 | 8 (S,SE,E,NE,N,NW,W,SW) | 64×64 | 256×512 | 8 / loop |
run_8dir | 6 | 8 | 64×64 | 384×512 | 8 / loop |
attack_8dir | 4 | 8 | 64×64 | 256×512 | 10 / once |
idle_8dir | 2 | 8 | 64×64 | 128×512 | 4 / loop |
hurt_8dir | 2 | 8 | 64×64 | 128×512 | 4 / loop |
Free helper: 8-direction clip-name calculator
Pick a character, action and facing. The helper shows the clip name, the sheet size, and a copy-paste Godot 4 snippet. Everything runs locally — nothing leaves your device.
Related free tools
- Sprite Sheet Slicer & Packer — verify any 8-direction sheet's grid before import.
- Import a sprite sheet into Godot 4 — the companion 5-minute recipe (grid → Nearest filter → SpriteFrames).
- Get a tileset PNG into Tiled + Godot 4 — the tileset recipe (grid → Tiled → Nearest).
- Tileset Splitter & Converter — split tilesets and export TMX/JSON/CSV manifests.
- Palette Extractor — pull exact colors from a character for matching tiles.
- All free game-dev tools