Website powered by

[Student Work] VFX experiments in Unity

These are some of my first experiments with shaders using the shader graph in Unity! Originally made in October 2022

My first time using a vertex displacement shader in Unity. By using the normal vector node I make the shape expand along it’s normals. This method displaces the mesh, so I added a blue outline where the original position was.

By adding a noise texture I can create a wobbly effect

By using vertex colors in the mesh, I made some vertices expand while the others remained in place. I thought I could create an outline effect with a fresnel, but that didn’t seem to work as planned.

Instead of a 3D object I used a flat mesh with a billboard script. By changing the vertex normals in the mesh I could create this effect with no extra elements in the shader

Here I tried to create a shockwave effect with vertex displacement. Not quite what I envisioned, but it’s the closest I got.

Here I made a wavy surface and a flag using the tiling and offset node. By overlapping multiple waves with different amplitudes and frequencies I created a more realistic effect.

Complete wave shader using three wave subgraphs.

Complete wave shader using three wave subgraphs.

This is what each wave subgraph looks like.

This is what each wave subgraph looks like.

Shader graph for the flag shader.

Shader graph for the flag shader.

By using different methods of UV unwrapping, I could obscure the seams behind the circle when making a shader like this. If combined with a billboard script, then the seams would be completely invisible.

Shader graph used to animate the above meshes.

Shader graph used to animate the above meshes.

Here I rotated some objects using the Shader Graph. The original positions of the objects are again shown in blue.

Using the things I’ve learned so far, I created an animated fireball. It’s made up of four different shaders, each applied to a different mesh. I used alpha channels to build multiple layers of the fireball.

All the different parts of the fireball singled out, and also what it looks like from the back.

Shader for the core layer

Shader for the core layer

Shader for the secondary layer

Shader for the secondary layer

Shader for the fire swirls

Shader for the fire swirls

Shader for the fireball embers

Shader for the fireball embers

A holographic pulsing effect, achieved by mapping the UVs in a specific way to allow for animation.

Shader graph for the holographic effect

Shader graph for the holographic effect

A wobbly space effect using pixel distortion. Achieved by using the screen position UVs and adding it to the scene color node.

A bubble effect, also using pixel distortion. Made by using two simple gradients, and positioning them using the tiling and offset nodes.

The same bubble shader, but animated to create a shockwave effect.

Animated star particles made using the VFX graph. Animated using flipbook textures, and random rotation is added to each star.

I used two cameras, one with a post-processing effect, the other to render the particles.