LIQUID LASER GUN
This effect was inspired by Mei's gun from Overwatch and Coldheart from Destiny 2. I wanted to create a gun that uses a resource similar to Mei's but it shoots lasers like something you would see in Destiny. I have always wanted to know how the liquid in the Mei gun worked, so this gave me the perfect opportunity to research it and create my own version of the effect. The model I used is a modified UE4 First Person gun.
I created the liquid volume by using two different spheres. One for the outside and one for the inside. The inside is a sphere with reversed normals. When combined it looks like a sphere that has volume. The inside sphere will look like the top of the volume but this illusion breaks as soon as the inside sphere is not a solid color.
Liquid amount and gravity
I used a gradient with a step to fill/empty the volume.
The gradient was based on the location of the object and the objects radius, so no matter how your rotate the object the gradient would always be the same.
This made it look like the liquid had gravity.
To give the liquid an angle so it looks like its leaning I had to lerp between different sine waves and the world oriented gradient. I created two parameters in the material that controls the leaning, one for the X axis and one for the Y axis. These two values make it possible for me to get the liquid to lean in any direction and with different amount of angle.
For the liquid to feel good when playing it needs Inertia. When the player walks around I need to calculate the liquid's directional velocity in X and Y. I used the directional velocity values as my input in the X and Y parameters. When the player walks and looks around the liquid will react appropriately.
After creating the liquid I wanted to create a laser that would use the liquid as its resource. I created tubes that siphon the liquid from the reservoir while the player is shooting.
I wanted the laser to feel powerful and almost uncontrollable so I added a lot of movement and glow to the laser.
This project has been very fun and I have had a lot of interesting problems to solve. The liquid was the biggest challenge of this project and took most of the time. I had a lot of problems trying to make the liquid feel fluid when the player is walking around, I could probably have made it feel better if I gave it more time and thought, but I am still very happy with the results.