Tutorial: Creating bird particles using Unity and Shader Graph

This tutorial was written by Alex from Black Salt Games.


If you need bird particles too, here’s how I did it using Unity and Shader Graph!


First you need a seagull model. This is the one I made using Blender and all I really care about is the silhouette.


Still in Blender I painted the vertex colours like this. There is red only towards the tips of the wings (you’ll see why soon)


In a new Unity shader graph this is a basic flap shader for our bird. Time goes through a sine function which is multiplied by the red vertex colour channel. With a few variables to control flap speed and amount.


As you can see, this is a pretty boring flap animation.


But if we subtract the red vertex channel from time we can offset the transformation creating this floppier flappier wave animation:


Floppy Flapping:


Next, if we multiply flap amount by our currently unused green channel we can adjust the particle system colour over time to create moments where the birds glide!




Finally, we can do a similar thing and add the unused blue channel to flap speed before we multiply it with time. This allows us to make the different birds flap out of sync with each other in the particle system.


Now just animating the particle position and colour you can get results like this:


Here’s the particles system settings I used here: