I updated to Unreal 4.26 and upgraded my project that already has terrain. Is there a way that I can disable the landscape deformation, while keeping the water system? I’d like to keep the splines though.
Hi, I have a problem that’s somewhat related, so I’m adding my question here, I hope that’s okay.
I have a landscape that won’t get affected by the water system, no matter what. I tried creating new landscapes, it usually works fine, but not on this one (and some others). The spline is positioned on the surface, but the water itself gets generated below it and the terrain doesn’t get terraformed. When I build the level, I get this warning:
“Landscape6_WaterBrushManager_0 This brush requires a Landscape. Add one to the map or remove the brush actor.”
It looks like my landscape is not even considered to be a landscape for some reason? All other landscape systems work perfectly fine with it. Anyone have any ideas…?
I had the same problem, the only way I figured it out - I duplicated level and the added water, also you need to enable a flag that your landscape can be deformed.
One has to keep in mind the layer system works by combining height maps, which is a grayscale gradient where values from 0 to 1 represents the height of the landscape. The landscape layers have blending options, so for instance it can blend half the height from one layer, and a half from another, or 10% of the height from one and 90% from the other. And same goes for weight maps. There are also things like “Max” blend mode, which will override the “layer stack” and always pick the highest value (height) from any layer.
Now what’s happening with old landscapes, I think, is that they have a certain height, but the ocean sets a new threshold height for the “land level”, which will put the existing landscape far below water. To fix this (and it’s a bit cumbersome so I hope they come up with a feature to add a “base height” to a layer).
To fix things go into the landscape, right-click on the layer, and chose export heightmap. Bring it into something that can edit heightmaps, like WorldCreator, Gaia, or Terrascultor (Gaia is free for 1024 landscapes). Add a base height so your level sits around 50% of the height span. Import this height info into the “Water Layer”. Afaik, only height maps and brushes that are on this layer are affected by river splines correctly. It’s a bit messy to get the height offset right. Also, if you have a very tall level, then you will “exceed” the range (since you only have half the height to work with). Also, your landscape needs to be centered.
For layers above the water layer, it will only add height to the underlying water layer’s height, but since there’s where the river splines are subtracted they wont be affected. For layers under the water layer, the water layer will add height on top of it, then subtract the river so that won’t work. But having landmass brushes in the water layer, or sculpting on the water layer will make the river carve that layer. This might be solved if the layers themselves had min/max/blend modes, but alas only landmass brushes have that (I think)
There’s some interesting stuff with turning off “Affect landscape” also in the material, turning off "Enable Water VS mapping can make the ocean island follow the spline in some cases.
I dunno, it’s a bit messy right now, but they’re probably working on transitioning to the new landmass/water system paradigm that seems to be the way forward. If you haven’t checked out landmass brushes I highly recommend it since it’s super flexible and non-destructive (Building Worlds with Landmass | Unreal Engine - YouTube)
This didn’t work for me, but it gave an idea to try and I finally managed to make it work. I did the following:
I created another landscape, moved it to be roughly in the same place and height as my original one, dragged and dropped a new Water Body Lake on it and - tadaaa - it affected my original terrain. So I just had to drag the water body into position, delete the new landscape and that was it. Magic :rolleyes: