I made an interactive water shader test to see if it is doable without C++.
The goals of this test were the following:
-Create an interactive water material entirely within the material editor.
-Must be fast enough to be used in a game and not just a tech demo.
-Blueprint driven (no C++ involved).
-Pack it into a single material function so it can be applied to any water material.
I can’t say I’m super satisfied with the performance, it’s over 600 instructions already just for the displacement (there should be room for improvement theoretically though) but the fact I was able to achieve this within a couple of hours is good enough for me :o
Added buoyancy, faked caustics, normals, refraction etc.
And yes I do plan to share eventually.
I should mention however that the performance is not really good enough… after the normals calculations got added it got to over 800 instructions… so yeah, keep your expectations super low :p:p.
Dude that would be really amazing! I believe that water is UE4’s biggest weakness! Cryengine has amazing water and UE4 has them beat on almost everything else. Hope this gets released! Amazing work!!
I thought materials didn’t use neither blueprints nor c++, but used some form of visual shader language. If not, it might be worthwhile to switch it over c++. Can’t wait to see more.
Looks really cool. I think higher frequency waves would help make it look more believable. Currently the disturbances disappear very quickly (I’m sure there are practical reasons for that).
That is correct, but you can use Blueprints or C++ to pass parameters into a dynamic material instance. That lets you create e.g. dynamic location-based effects!