Godot Particle Effects and Shaders

I’m comfortable and experienced with Godot Engine, having used it to create several small games and projects.

I’ve have created particle effects, as seen below…

  • 3D smoke effect controlled via code / animation
  • 2D particle effects for a game prototype. This included having small collectibles (brains!) fly out of objects the player touches. For better performance, I used one particle system attached to the player rather than an individual particle system on each object! To pull this off, I…
    • Set the simulation space to local (so the particles all move when the particle system’s origin moves)
    • Created a ParticleProcessMaterial where the particles burst out from the origin, then suck in towards the origin
    • Tween the particle system’s origin from the object to the player…and voila!

I’m still quite new to shaders, but I modified some open-source shaders from the Godot Shaders website to create retro PC game-like effects in my game “Smart Attack”:

  • A “dissolve” shader that, when added to a CanvasGroup, makes a grainy dissolve effect whenever you change the alpha in its self_modulate property. I modified the original shader to work with CanvasGroups.
  • A shader that smoothly cycles through color tints, which I extended with background scrolling features and customizable speed.