SpriteStack2D is a Godot 4 addon that renders pseudo-3D sprite stacks from a single 2x2 sheet of orthographic pixel-art views.

Stars

212

7-day growth

No data

Forks

5

Open issues

0

License

MIT

Last updated

2026-07-16

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It achieves high performance (≈160 FPS for 1,000 spinning objects) through a shared cache for output images and input data, reference-counted and automatically freed when no longer needed.

Who it is for

  • Godot 4 game developers
  • Pixel artists creating 2D assets with 3D rotation
  • Indie developers wanting lightweight 3D-like visuals

Use cases

  • Creating rotating pixel-art items in a 2D game
  • Adding pseudo-3D effects to sprites without 3D modeling
  • Rendering large crowds of identical objects with minimal overhead

Strengths

  • Efficient caching: output images shared across all instances with the same input and parameters
  • Simple setup: just a 2x2 sheet and one node assignment
  • MIT license permits unrestricted use and modification

Considerations

  • Requires Godot 4.x (not compatible with Godot 3)
  • Only supports a 2x2 spritesheet format; custom layouts not described
  • Pseudo-3D rendering may not match true 3D quality for complex shapes

README quick start

SpriteStack2D

A Godot 4 node that renders pseudo 3D sprite stacks from a single sheet of pixel-art face views.

Setup

  1. Draw a 2x2 spritesheet of orthographic views (all frames the same size): frame 1 = TOP, 2 = FRONT, 3 = SIDE, 4 = BACK (leave the 4th frame empty to mirror the front).
  2. Download, extract to your Godot project at res://addons/..., and enable the addon.
  3. Add a SpriteStack2D node and assign the sheet to texture, the grid is applied automatically from source_mode (4 Faces = 2x2).

Performance

What gets rendered is the final output image per angle (rotation, stack, shadow composited) frames live in a cache shared by all SpriteStack2D instances with the same input and parameters, so a thousand identical nodes render each angle once in total (≈160 FPS for 1.000 spinning objects).

The prepared input (cut frames, carved slices) is likewise shared per input texture, and both caches are reference-counted: when the last node using an input is freed, its cached data is purged.

res://test/perf_test.tscn is a stress-test scene with live stats. Tested on Godot 4.7.

License

MIT.

Description

Render pseudo 3D sprite node from a single 2D texture of different view angles

Related repositories

Similar projects matched by category, topics, and programming language.

callmemhz
callmemhz GitHub avatar

godot-map-builder

A brush-based level editor plugin for Godot 4 that lets you create and edit 3D maps directly in the editor viewport, inspired by TrenchBroom.

GDScript
33