I just found WM two days ago after (again) wasting way too much time trying to create a decent-looking terrain for a project I’ve been working on since around 2010 using Opensimulator, Blender, Unity3D and Unreal Engine. It’s basically an experiment: I’m trying to recreate a mythological scene that deeply impressed me reading about. I want to get a sense of what it would be like to really walk around in it … it’s not really a game, maybe more a meditation / imagination booster.
It’s been an interesting journey so far, and the ever-increasing quality of tools like Unreal Engine have kept me going at it to get as much out of those tools as I can. I’ve been especially impressed with the capabilities of Unreal 5.x. I had set it up there with the terrain providing the lower-lying area and using a handful of static mesh mountains from Brushify to provide the backdrop “décor” - not walkable, but that was ok because the area is pretty large already - using an 8k heightmap - which translates to around 8 km square, taking already half an hour to run across!
But for the latest upgrade (Unreal 5.8) I wanted to start with a clean slate. Performance wasn’t very good: I’d basically been upgrading the project ever since 5.0, so I was dragging a lot of legacy data around and had never gotten around to use World Partitioning, which might help.
So while setting that up I decided I’d like to get rid of those static background mountains as well and just integrate them in the terrain itself. The terrain editor of Unreal can’t handle this, even minor editing takes forever for every brush stroke to land, let alone sculpting complete mountains.
I had thought up something like this:
- export my existing heightmap (8129 x 8129 16bit png)
- export the static mesh mountains
- combining those in blender
- exporting this as a new heightmap and import back to UE
Becausse the mountains extended beyond the 8k terrain I’d need to scale the terrain down and scale the whole thing up again in Unreal. This would go at the cost of some resolution of course but I think that’s worth it. My machine can handle an 8K terrain, but not something like 16K - and I don’t think that World Partitioning changes that limitation. But that’s fine.
But that approach didn’t work. The static mesh mountains integrated very poorly in the terrain because they’re basically low-poly meshes - it looked horribly “faceted”.
Then I tried several other things. I thought it would be a good idea if I just assembled height maps in an image editor, blended them together and create a new height-map like that. I had found a website that could generate height-maps for any location on Earth and I browsed the Himalaya, Canadian Rockies, New Zealand, Norway and the Alps for suitable pieces of terrain, and downloaded those as huge .exr heighmaps. I assembled those together with my base terrain in Affinity and it actually looked promising, until I did a test export in Blender to see what it looked like. The thing was that such 32-bit images look nice and smooth in an image editor, but when you translate them into height - it turned out that especially the high mountains had a lot of really ugly distortion caused by noise in the original radar data where those maps are made from. The mountains looked like they were covered in biscuit crumbs, with the occasional deep hole in them.
Tried some time to fix that by smoothing those images, but that only made them look like molten wax. Ugh. So, next idea was: get some pristine height maps from the internet and kitbash a terrain together from those. I found that merely pushing 2d height maps around didn’t give me any idea of what it would look like, so I then took the effort of turning all those heightmaps I found into Blender alpha brushes, thinking to create my terrain in Blender’s sculpt mode.
And that’s how it goes all the time - it kind of works - enough to keep me spending time on it, until I finally give up because it really doesn’t look like anything. It’s sure a hell of a good way to waste time.
I did once upon a time look into dedicated terrain tools, but back then it was strictly windows-only, and with a price tag I could not justify for something I expected to use only for this one project. And then I found WM - with a mac version and a very budget-friendly “indie” license option. And now, after working through the builtin tutorial I still think it can do what I am looking for, so I’ll be diving into it now, and hopefully my time-wasting spree is now over ![]()