A watery respite (breakdown)

Description

The video shows a breakdown of my latest water shader, made with Unity using URP. The shader features the following.

  • Distance based colouring
  • Vertex displacement
  • Tessellation
  • Blinn-Phong specular reflection
  • Height derivative maps, for flow dependent normals
  • Flow map UV distortion
  • Shadows
  • Transparency with underwater tinting
  • Refraction
  • Tri-planar projected caustics
  • Additional fake specular effects
  • Interactive ripple particles that affect flow
  • Planar reflections
  • Fog

The caustics and ripple particles can be seen better in the following clip.

Main components

  • Water shader

Tools used

  • Mixture (noise textures)
  • Unity 2020.3 URP (rendering)

Acknowledgements

This shader was inspired by the following references/tutorials, which are ordered by content creator.

  • Alan Zucconi
    • A great introductory tutorial on making believable caustics
  • Half Past Yellow
    • Two great blogs (1, 2) on their water shader, with most important inspiration being the flow particles
  • Jasper Flick (Catlike Coding)
    • The series on flow and water shaders has been the backbone for my water shaders
    • His tutorial on tessellation is a great introduction to it
    • Similarly his tutorial on tri-planar mapping is great as well
  • Joyce (Minions Art)
    • She has a quick and concise tutorial on adding tessellation to URP shaders
    • Another great tutorial is on adding water ripples using the particle system and an orthographic camera
  • Ned (Ned Makes Games)
    • The projected tri-planar mapping requires scene normals, which Ned has a tutorial on using SRP’s render features.
  • Simon Trümpler (Simon schreibt)
    • His talk about the water of Rime was the main inspiration for this shader
  • Unity (you know, the engine company)
    • A script from their boat attack demo project is used to for sampling planar reflections

One thought on “A watery respite (breakdown)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: