Edit of asset "PixelPerfectSmoother" Accepted

Old/Current New/Edit
Title PixelPerfectSmoother PixelPerfectSmoother
Description Pixel-perfect Camera2D smoothing for Godot 4.x pixel art games.

Godot's built-in Camera2D position smoothing rounds to whole pixels after interpolating, discarding the sub-pixel remainder every frame. The result is a jitter artifact: the camera snaps instead of glides, and sprite edges visibly crawl during movement.

This script replaces the engine smoothing entirely. It tracks a high-precision float position separately, interpolates it each frame, and only snaps to the nearest pixel grid point at the final render step — preserving smooth motion in logic while keeping crisp pixels on screen.

Features:
- Configurable follow speed and pixel size via Inspector
- Pixel grid snapping (toggle on/off)
- Static world-space base offset
- World boundary clamping
- snap_to_target() and set_follow_target() public API
- Zero dependencies — works in a blank project

Drop PixelPerfectSmoother.gd onto your Camera2D. Set follow_target to your player node. Done.

Godot 4.x only. GDScript 2.0.

Extended version with velocity-based lookahead available at nullstateassets.itch.io.
Pixel-perfect Camera2D smoothing for Godot 4.x pixel art games.

Godot's built-in Camera2D position smoothing rounds to whole pixels after interpolating, discarding the sub-pixel remainder every frame. The result is a jitter artifact: the camera snaps instead of glides, and sprite edges visibly crawl during movement.

This script replaces the engine smoothing entirely. It tracks a high-precision float position separately, interpolates it each frame, and only snaps to the nearest pixel grid point at the final render step — preserving smooth motion in logic while keeping crisp pixels on screen.

Features:
- Configurable follow speed and pixel size via Inspector
- Pixel grid snapping (toggle on/off)
- Static world-space base offset
- World boundary clamping
- snap_to_target() and set_follow_target() public API
- Zero dependencies — works in a blank project

Drop PixelPerfectSmoother.gd onto your Camera2D. Set follow_target to your player node. Done.

Godot 4.x only. GDScript 2.0.

Extended version with velocity-based lookahead available at nullstateassets.itch.io.
Category Scripts Scripts
License MIT MIT
Repository Provider GitHub GitHub
Repository Url https://github.com/NullState-Assets/PixelPerfectSmoother https://github.com/NullState-Assets/PixelPerfectSmoother
Issues Url https://github.com/NullState-Assets/PixelPerfectSmoother/issues https://github.com/NullState-Assets/PixelPerfectSmoother/issues
Godot version Godot 4.0 Godot 4.0
Version String 1.0 1.0
Download Commit 3f175645ca49fffeeae94e1313a2a15bbefe2f4e 3f175645ca49fffeeae94e1313a2a15bbefe2f4e
Download Url (Computed) https://github.com/NullState-Assets/PixelPerfectSmoother/archive/3f175645ca49fffeeae94e1313a2a15bbefe2f4e.zip https://github.com/NullState-Assets/PixelPerfectSmoother/archive/3f175645ca49fffeeae94e1313a2a15bbefe2f4e.zip
Icon Url https://raw.githubusercontent.com/NullState-Assets/PixelPerfectSmoother/main/PixelPerfectSmootherIcon.png
https://raw.githubusercontent.com/NullState-Assets/PixelPerfectSmoother/main/PixelPerfectSmootherIcon.png