This is a shader I created for a group project (Project Cronos) at The Game Assembly. The goal was to visualize to the player how much ammo they had left for their weapon. When the player charges their pistol, the energy fluid in the container on the backpack is drained. My solution for this effect was to use a second UV set for mapping the fluid-texture, and a mask stored in the backpacks vertex colors, to blend the liquid effect with the artists textured backpack-asset.
Despite the liquid only being a texture projected on the cylinders surface, I wanted to give the effect some depth. I achieve this by drawing different bubbles of different sizes and strengths, moving at different speeds along the surface. This gives the impression that some are closer to the viewer than others. I also slightly distort the effect by it's UV's to give the impression that the glass surrounding it distorts the view into the container.
Backpack mesh and textures by: https://sannafriberg.artstation.com/
Engine: Monostein - https://www.casperstein.com/personal-projects/monostein-engine