Water Plugin - Water Body Ocean


Seriously - How does one go about fixing up these kinds of issues with the Water Plugin - Water Body Ocean Actors? I don’t know how to get rid of these seemingly buggy Red Sea “walls” of water that just appear. HELP!

1 Like

I had this issue as well.

I am learning as I go and here is what I found that hopefully helps you. I am working on a large world 100kmx100km with a large water body in that is surrounded by landscape similar to what it looks like you are doing.
What I found was, instead of outlining your land/water edges with the water body spline, which was going to be a nightmare and caused all sorts of VRam usage issues, i just left the default small loop and set it in my world.

I then set the scale down to allow it to fill in the center.

I then set the Water Heightmap setting to Max from Alpha Blend so that the maximum landscape elevation is used.
image
And Affects Landscape to True.
image

I found that if the water body actor is placed right on 0,0 that it reports an error that a landscape is not present. Shifting it off by 50 units on x or y seems to make that go away. I am guessing that this due to being on the edge of world partition component.

I then expanded the Water Zone actor to encompass my entire map (or the entire area that you have water).

The Z location is set at the elevation of your water level. I had read in various locations that the entire landscape needed to be above z=0. I am not sure if this is required, but I was trying to eliminate issues as well.

In one post, I found that disabling the “Enable Water VS Mapping” in the water material (I used the Lake Material Instance as it had fewer options) fixed the walls of water. I am not sure what that option is supposed to do, so maybe some one can shed some light on that.
image

Finally, what I found was with this set up was that the edges of the water would not smoothly taper to the edge of the landscape, leaving a gap at some locations. (Nice on one side gapped on other)

Looking at the Water Material graph and a lot of poking I found that the value of the “Water Opacity Mask Offset” is the magic parameter. Its default is only -24 which I don’t know why, but setting it to something real like -1000 gives a nice underlap with the landscape edge (the yellow outline in the second image above) and then smooths nicely.

That is all that I have learned, or found out, and hopefully helps you.

6 Likes

Is this plugin (forgive this expression) dead in the water for 5.0.0?

I thought it requires tessellated meshes, which are deprecated in full release. I saw waves working well in EA2 in some demo vids etc. but I notice oceans are now completely flat in 5.0.0 and I’m wondering if it’s because of this.

1 Like

I have only started with this water plugin in the last week or so. It seems to be working for me and there are a ton of click boxes to figure out. Waves do need to be enabled in the material, and there is a some other settings in the wave section of the water body.
image
So if the water depth ( Channel Depth) is not sufficient the waves get reduced. Maybe that is what is causing your flat water.
image
If I learn some more I will try to update.

Hmmm strange. Cheers <3 I will play with this. Yes, mine is flat but unsure why. I loaded up a default project to test and it does seem to be working so maybe it is something specific to my project (or my default water values are with insufficient depth).

Oh, realizing now that I think it’s because it breaks when you use the plugin with heightmap-generated landscapes. Lots of articles online about this but no solutions as far as I can find; any ideas?

I did use it on a height map generated large world, see first response above to OP. I was having problems as well, make sure that your lowest point on your map has a positive z location. I had to shift my landscape up to z=110000 to get my lowest point up around 1000 above. I think the waterbody actor wants to be above z=0. I set the waterbody actor at z=1800.

Oh, and I set the box extents on the waterzone actor to encompass the whole map area that has water.
image
This might not be the right thing to do, but it is working.

I also set the collision extents on the waterbody (ocean). This is so that the player can detect when entering water so you can start to swim.

Maybe you are seeing the ‘Far Distance’ water mesh of the Water Zone. It is flat as it is only supposed to fill in the horizon. Play with the Far Distance Mesh Extent and look for changes. This where I first noticed that something strange was happening, as it would move as I camera moved around in the editor.
image

I probably made a bunch of poor settings, but hopefully now the full release is out, maybe some documentation will follow.

@Krabworks , I made a video that goes through what I have done to create the open world and get the landscape functioning. Maybe it can help you.

1 Like

What a legend, cheers <3 I’ll report back once I’ve got mine in haha but I think this + the comments above will be a huge help, thanks a bunch

To report back on this, FYI I was not able to get this to work. Once I finally thought I had, I pushed it to our dev branch and found that it still appears broken on different hardware. (i.e., what appears to be resolved locally on my machine is not working on others’).

Suffice to say, the water plugin is borked and does not work. It has not been updated since releasing as experimental 0.1 as far as I can tell and appears to be dead in the water (pun intended!). So my advice to anyone considering this would be to avoids UE’s water plugin entirely and either build your own water shading tool using splines or obtain one via the marketplace.

Working with tools that remain experimental in perpetuity is not worth the headaches and the lost development time, it would have been honestly been less harmful for them to not release this at all than to release a broken version that can cause wreak havoc on your landscape and never finish it.

I have to agree with you, and while busy on other life project atm, I have been following through Ben Clowards tutorials on building a water shader among other things. He is a clear master of the craft. I am sure you have come across his stuff. His channel is amazing and his tutorials give clear explanations and very step by step.

Yes his stuff is great :slight_smile: I’m not sure what the best approach will be for sections of river that need to blend to the ocean but it may still be possible to use the water materials from the plugin to do the ocean without any landscape edit layers and with a fixed z-height at world zero.

Either way, for anyone thinking about the water plugin I think the best advice is don’t touch it. It will cause you more headaches than it’s worth and the in-editor performance is not worth the convenience of avoiding doing riverbeds with meshes or landscape sculpting.

Hopefully one day UE will fix it but for now I agree Hochban, it’s just not worth touching this broken mess. It would honestly be better for them to remove it altogether than to keep it in broken since - given the number of tutorials and videos out there directing people to it - it’s going to be a huge time-sink for new developers learning the hard way that it’s better to just avoid it altogether.

The funny thing is too, the materials are good…as is the post-processing. It’s so close to being functional but they missed the mark.

All Epic really needed to do was make river spline meshes that don’t affect the landscape with some more features like vertex painting, mesh distance field effects around static meshes, rapids etc., and maybe some vertex painting for fading so that it can blend into an infinite ocean plane.

1 Like

can you give a link to water plugin?
google drive link or so for UE4 as i have lost my folder.

The water plugin only needs to be enabled. Here is a video from Ryan Laley that goes through that.
Cheers.

I have such a problem too.

In attempting to animate the WaterBodyOcean’s parameters, I’ve found that very few are actually available to keyframe.

I’m guessing the parameters are baked into maps behind the scenes? Thus not exposed for keyframes?

Can anyone confirm? Any ideas on how I could go about keyframing a parameter like “Wave Attenuation Water Depth”?

Thank you for sharing