How to make a wave-particle effect in Unity3D?

Saharukh Mollah
3 min readAug 23, 2021

--

There are many challenges for a TA when it comes to particle effect, like making a procedural wave effect with a particle grid. let's try out making one.

Reference effect: https://www.youtube.com/watch?v=hHVS2ioRqG8

Although there is an alternative method to achieve this effect using Mirza’s Tutorial, I will do it in a different way to have more control over my effect.

Lets get started, The first thing we will be needing is to create a flat plane model for our particle grid.

I am going to use Blender3D for this task.

First I will delete all the objects from the scene, then I will add a plane object to the scene, make sure its transform position in 0,0,0 . Once done I will add a subdivision surface modifier and make the steps count to 4 (you can make it more if you want more particles) and mode to simple, then apply the modifier , once done check-in edit mode if the grid is proper or not the mesh.

The next step will be to export the model, I prefer exporting FBX format when working on blender unity pipeline. So I will choose export as FBX option and select folder and filename. MAKE SURE YOU SET Foward to -X forward for proper transform in unity.

Now let's open unity, first thing will be to import the 3d plane into unity. Once done we set the scale factor for the plane to 100. Now we are done with the importing process so let's get started with the particle. Now I will be writing in step-wise for a better understanding.

  1. Create a particle system .
  2. Set Start Duration to 1, turn prewarm to on.
  3. Set Start lifetime to infinity
  4. change start speed to 0
  5. change start size to your desired particle size
  6. set max particles to no of vertex +1 in you mesh, you can view that by simply selecting the mesh and seeing the value in the inspector.
  7. change emission rate over time value to no of your vertex count +1 of the mesh.
  8. Now change the shape component to mesh and type is set to vertex. Make sure mode is set to loop ,Once done drop the mesh into the component, our grid is ready.

Now lets start with the wave effect, for that we will need a vertex displacement shader. Here is the shader. Once we add the shader to the project we see the effect come to life, then we can simply fine-tune the effect and we are good to go you can use noise modifier to make the wave look asymmetric.

--

--

Saharukh Mollah
Saharukh Mollah

Written by Saharukh Mollah

Blending creativity with technical finesse for stunning UIs

No responses yet