Realtime water shader with caustics and wet surface in Unreal Engine

Hi everyone. I finished complex water material in UE with fake caustics and wet surface. I will be grateful for feedback -

Main node tree for water material

Simple node tree for caustics on surface with height and deep limitations

Also simple node tree for wet surface with fake wave animation for surface (rocks, objects in the water, sand)


That does look lovely, silly expensive, yes, but lovely! :smiley:

Feedback, This looks really good, But i like Wyvery said, expensive.

First thing i would cut off for sure is the tessellation, Pre-tessellate your mesh to your needs or learn how to generate meshes on code instead.

Then i would start putting switches in for things like fake translucency vs real translucency.

In reality though most of the optimisation revolves around the usage, If you have a budget or a style those would be your pivots to start optimising.

Again there was nothing i could say about the look as its good, Maybe the pant shot needs some nice floating pieces etc if that makes sense.

It’s my personal work, so I haven’t limitation :wink: It was “What I can do with Unreal Material?”, because I have been working in Unity for 2 years, and little borRRRRRRred :wink:

When I was doing it I thinking about optimization: saturate instead clamp, switches on/off for different effects, and etc. You can see it in the youtube video, I shown node tree and material window/parameters
Tessellation isn’t most expensive in the material (you can set value=1 for it), the most expensive is distance field and it has on/off switch for optimization

Thanks for the tip, I will think about mesh generation

1 Like

Sorry i didn’t go through the video it wasn’t here, Im guessing its in artstation. Good stuff then those are some valid methods. Keep it up.

Looks good. I don’t really care how expensive it is. Could use it as some sort of Real Time for Movie mid and background shot.