Landmass plugin

I really like the concept of the landmass plugin, it’s quite useful even if it’s a little buggy occasionally.
One feature i would really like is to be able to input an alpha image like from a standard landscape brush but then be able to move it around freely like the blueprint brushes.

Here is an example.


That World Creator looks cool. They claim export to UE4, but I haven’t seen any documentation on that. How does it compare to World Machine?

I have not actually used it, too expensive for me right now.

Doctor_Kannon, I find it easier to use than World Machine and it’s in active, heavy development. I’d recommend for sure. It does rely heavily on GPU though… not sure if that would be a deal breaker.

Bump as this is exactly what i’m looking for too. Using a heightmap as stamp to affect the landscape heighmap.
I tryied to look at other premade “custom brush” blueprints but I understand nothing and as usual with Unreal Engine, I can’t find any documentation about this.

I managed to get an heightmap blended to the landscape heightmap by making a “landscape blueprint brush” based on a copy of the “CustomBrush_MaterialOnly” blueprint but the heightmap is tiled on the landscape

if we can paint layers based on heights and slops - it would be Awosooooome

This is something i’m currently working on as well, the base landscape blueprint brushes are good enough ,so far, to modify to work just like this and i’ve been quite successful, i’m hitting a lot of crashes with landscape layers at the moment tho.
I even went as far as to modify the SDF blueprint brush to mask a tilable heightmap, for sand dunes and such.
Currently working on getting a splatmap of the heightmap to affect weight layers, but as i said getting a lot of crashes with landscape layers, so it might not come to full realisation until thats out of experimental

I honestly don’t plan on releasing any of this publicly, but i’d be more than happy to share some of the process and bounce ideas off people.

One thing i think this system will sorely miss is a custom gizmo to control how the heightmap interacts with the landscape, i’ve tried to tie as much as i can to the transforms of the actor itself, as you can see rotation (currently buggy, but that’s on me)

Don’t know how to embed videos;

insideitall, this looks very promising and similar to what I’m trying to achieve. From your video I can see that you are using the CustomBrush_MaterialOnly as a base for your customized blueprint brush to block in this first landmass. Could you maybe post a screenshot of your blueprint that shows where you achieved that it is not tiling and takes that Heightmap Texture and Scale you have under Default there? That would be super helpful to give an idea how to achieve those changes to the existing blueprint brushes.
Thank you

Hmm … I think I’m getting there manipulating the actual material they use in this custom blueprint brush. Is this the way you achieved it? It’s all fairly new to me. Do you mind sharing your material graph if this is the way?

Yeah a lot of the work is done in the material, because the end product is a render target that gets fed into the landmass system.
So in my example, i’m feeding the heightmap texture from the blueprint into the material, then combining it with the unpacked heightmapRT to get that result

So the basic concept follows as, send any relevant info to the material in the update MID functions, do what you want inside the material editor and combine it with the heightRT. I’ve stripped a bunch of stuff out from their example materials and working in the functionality i need, so it’s pretty barebones, you can change scale, rotation, height and height offset atm but its not hard to imagine how to do the rest.

I’m currently trying to intergrate splatmaps into the weightmap but as far as i can see that interaction is in the CPP class and the child doesn’t have access to it so my work arounds are quite hacky at the moment.

But yeah any questions send me a DM, it takes a while to reverse engineer the examples but pretty straight forward once you get the ball rolling.

Thank you insideitall ! This is super helpful to get this started and to see where I got stuck. I’ll keep posting if I can come up with anything interesting.

I remember that I managed to use heightmaps by hacking the CustomBrush_MaterialOnly and the included material, but the result was very blocky (visible height steps) when zoomed in, it looked like the render target was 8bits (?) and I didn’t find a way to change that.

Probably the texture compression format you are using? its 4.25 its A LOT more stable, in 4.24 i remember the terrain collision wouldnt update and all that jazz, and on level load, or placing an actor on the terrain for the first time can cause it to get blocky (geo blocky, not texture bit blocky) for a few seconds while i assume the landscape is initialising itself again, but again only ever once per after loading the level.

The textures were ok, 32 bit heightmaps with proper compression, I tested them on a separate render target in my own draw system.
It looked like it degraded it somewhere down the line inside the landmass render target system, but I didn’t have time to track it. Maybe in 4.25 it’s fixed now, so it’s no longer an issue :slight_smile: