Nine small canvas_item shaders that most 2D games end up needing, free for personal and commercial games: outline, dissolve, hit flash, shine, grayscale, tint, pixelate, wind and silhouette. They go on a Sprite2D, TextureRect or AnimatedSprite2D as a plain ShaderMaterial, with no autoload or plugin to enable.
A few details that took the most time:
- Dissolve gets an ember edge whose width you set, and the sprite is fully gone at 1 (no leftover pixels at the end of a death animation). An optional sweep makes it burn from one side.
- Hit flash has five patterns (punch, blink, double, strobe, pulse) driven by one
progressvalue, so a hit is one tween:
var mat := $Sprite2D.material as ShaderMaterial
mat.set_shader_parameter("progress", 0.0)
create_tween().tween_property(mat, "shader_parameter/progress", 1.0, 0.25)
- Outline stays smooth at any width instead of stair-stepping on diagonals.
Tested on Godot 4.3 and 4.7. The itch page has a browser player where you can try them on a sprite with sliders before downloading (it also shows effects from my paid packs, each one marked).
Feedback welcome, especially if something looks wrong in Compatibility or on the web.