This custom Unity shader simulates dynamic surface waves with lighting and normal mapping. I built it using HLSL in Unity’s ShaderLab, following and modifying techniques from beginner tutorials to understand vertex displacement and fragment shading. The wave effect is driven by a sine function applied to the world position in the vertex shader, with adjustable parameters for speed, strength, and height. In the fragment shader, a normal map is used to add lighting detail, and a lerp between two colors based on height gives the shader its animated appearance.
Material applied to spheres in Unity with varying height, tint, speed, and strength
Material applied to a plane in Unity