Terrain time discussion!

Allright. I see several people at least who have questions about it (myself included) and it’s the least, in my opinion, covered topic. No official tutorials about it (outside the basic landscape tools), at least none that I found in the last week I’m searching, and several good or bad, I won’t judge, community tutorials that mostly left me either frustrated or with more questions. So I made this thread after seeing the amazing GDC video, so that people who know can help people who don’t know how to make terrains.

I plan to make such a terrain (I mean realistic and I mean just the terrain/foliage/props, no ai or anything) in a small scale (say 1km^2) before I move on to bigger things like populating it. I’ll try to post my progress here as well and once I understand how all that works, if people still want, make a tutorial about it.

So, questions time now:

I noticed in the majority of the tutorials people use World Machine to make the heightmap for the terrain, some others use programs like terresculptor or geocontrol. From what I’ve seen they’re quite similar with some basic differences like extensive node-based customization for WM or painting isolines with geocontrol. Any major differences or reasons why to prefer one over the other?

Landscape sizes give me a headache. I simply can’t understand how to use them. I read the tech docs several times but still all those components make my head spin. How do I use that info for a playable map? I understand that more vertices/components = more detail but also requires more system resources. Is there a sweet spot in that I should know about?

On the world machine now is the same this with the resolution. More resolution = more detail = heavier for the system and I also see people in tutorials end up with a resolution of 1m/pixel which is something that I do not understand how it works ingame. How much is enough on heightmap resolution so I end up with a terrain that looks good while the map is still playable?

World machine sizes work with UE4 sizes? For example if I import a 1km^2 map will it reflect the same in Unreal or will I fill like a giant walking around with my FPS camera?

That’s it for now. I’m downloading the World Machine trial hoping I’ll find out how that stuff works. After I manage to get a nice map imported to UE4, I’ll probably tackle either foliage or water.

PS. I come from a 3d modeling background (props mostly) if that helps anyone give me answers. If you need specifics (like the programs I’m familiar with etc) ask me and I’ll reply. Also, sorry if this came out a bit harsh but after one week of stalking/digging the forums and youtube, finding little information on the subject I am kinda frustrated. I also hope people will use this thread as Q&A so we have at least the basic information available in one place for new people that want to learn.

EDIT: Also the title of the thread should be like the title of the post but I can’t find a way to edit it :smiley:

Sounds good to me! I started and stopped at least 3-4 times last night alone!

my concern is about the lack of advanced landscape material tutorials, most of them just cover the basics

sure we can use examples like stylized game, landscape mountain, but is just a copy paste for anyone starting fresh in UE4 with no UDK experience this is a nightmare.

No difference in quality, just workflow and price. You can make a height map in photoshop if you know what you’re doing.

Generally 1pixel to 1m or 1 vert every meter is good, you cover any harsh changes with static meshes, so that works for most games. If there was a reason you couldn’t hide it with SM then maybe go higher. But yes it is confusing.

Have to match your WM settings to Unreal, then yes its the same. There is really just a ratio you need to match, but even that gets tricky so I say just match 1-1 unless you have WM standard ed like me and want a small map, then its hard to work with.

Good lord, I’ve seen a huge amount of people get to the topic of terrain and then it’s like they hit a huge wall…and I understand that 100%. I honestly cannot think of a topic that’s so important but yet so unexplained, which is baffling considering how long UE4 has been out. I’ve been meaning to do a tutorial over landscapes for awhile, but I think I’m ready to do it now. People seemed to really need help, so why not. The tutorial will either be in video format or pdf format; if you have a preference, let me know.

  1. I’ve used both WM2 and GeoC2. I prefer WM2 because I understand node based graph better and I can absolutely do whatever I want with it. GeoC2 and other software aren’t suitable for me, might be good for you. Give each a try.

  2. For example you want to make a 4k map, you height map output might be 4096x4096 or anything, you have to resize it to 4033x4033 and import it in the landscape tool. The setting it sets is the best spot between quality and performance, dont give yourself a headache trying to modify everything. You’ll understand over time. just push forward as long as you are looking at it from a far it’s scary.

  3. More detail/resolution in WM2 does not mean heavier performance impact in UE4. In UE4 you get 1 vert per meter (1 polygon = 1mx1m) so no matter your terrain in WM2 is a flat plane, or with maximum detail. You typically put the resolution in WM2 on for example 4096x4096 if you want a map in UE4 with that size. You can still build a 8192x8192 in WM2, downsample it to 4033x4033 and import it in UE4 as a 4k map, it wouldn’t make any performance difference since you still have 1 vert per meter so extra details are dropped. You’d get all the detail if you import it as an 8k map. On the other hand, you can also build a 512x512 map in WM2 and scale it up to 4033x4033 and import it as a 4k map, you are getting lower details but performance is the same as if you was importing a highly detailed map. (Since you still have 1 vert per meter no matter how detailed the height map is).

  4. Yes sizes work with UE4.

its not THAT baffling. Its a deep topic, especially to explain well. From landscape tools to materials there’s a lot there and a lot of confusing explainations.

And yes your 1km map in WM, you have to scale it (to your landscape resolution) to work and most likely the height will be crazy off, but you can manually scale that… its sloppy but it will work. You can also manually scale your terrain to me any resolution so you are not limited to 1 vert per meter, but thats the default and I don’t change

To someone brand new (and we have a lot of those people now), terrain is an insanely baffling subject to tackle. Heck, I STILL see people using this very basic method you find in almost every video on YT.
ff533fcfba63588430f59db6be929e956a79ddcf.jpeg

The reason terrain can be seen as esoteric is that UE4 gives you the flexibility to build it anyway you want. To some that may seem daunting, but you have a wide range of options. Some people might only need it for a background prop. Others need you to walk around a detailed world. Others might be on mobile so they want something simple.

I’ve spent many months on one terrain, using a combination of layer info maps, angle based texturing, distance blends and several maps that break up the tiling. It’s a lot of work and a very iterative process. There is no one tutorial to cover the end all be all method. It’s all based on your needs.

Thing is there are no tutorials for any of this, except maybe the import to UE4. There are many videos but most if not all of them are “watch me do it” Nothing to learn from them unless you want to do the exact same thing as the guy in the video.

Thanks for all the replies everyone. I tried to make my first terrain but while WM said it exported it it’s nowhere to be found on my files. I’ll try again tonight or tomorrow and will come here again for results or maybe even questions I might have.

Another thing I was thinking is maybe we do it a Q&A thread so people ask questions and more experianced people give answers and then I edit the main post with the questions and the answers in one topic so everyone can see them as they open the thread and update it along the way. Ideas?

I personally have no use for video tutorials so I can’t say if they exist for this.

The documentation is pretty extensive, all those things I mentioned are on these 3 pages:

Start setting up a basic landscape and add features as you go, when you hit a snag, post the specific question on the answer hub or here. I find that works better than general questions because those lead to a dozen answers instead of one that solves your problem.

Let me know what you are trying to make a landscape for and maybe I could offer more direction?

yeah TimeSpirit, I agree, its complex b/c there are so many ways to do things and reasons things are done/wanted/needed. Either way I made a tutorial on at least understanding the terrain and world machine integration.

hope this helps.

Cool thanks Dave I’ll take a look.

Really good work dave and really helpful. And Time, yes I agree with you but I come with a completely different mindset. I am not trying to bypass a problem but instead I want to learn how to use a tool. Yes that needs practice but it also needs understanding and that’s why I posted here. I come from a 3d modeling background and over time I helped several friends with it and every time I tried to make them understand stuff instead of saying “Here is Maya, play around and if you hit a wall call me” because I believe this is the worst possible way to make someone learn.

For example last summer I met a girl who just finished architecture and as part of her internship she was supposed to teach some kids in Spain about Archviz in 3ds Max and she had no friggin’ idea on how to use the program. I could easily tell her “That’s how you make a wall, that’s how you apply a material” and be done with it. But if I did so, she’d be fired the first day when a kid would ask her what a vertex or a component is. Instead I spent like 2-3 weeks to teach her the basics so she’d end up understanding how to do it instead of blindly following my clicks from memory. See my point? :smiley:

I did not right that in any negative way towards you by the way. I just wanted to make you understand what kind of help I’m looking for. Dave’s video really helped me in that way explaining the whole 505 weird numbers for example :slight_smile:

EDIT: “Update” I manage to create a map and import it after all. It’s a small island fit in a 4km^2 world. I had 2 main problems. One was the height. I could not get it right until I read in the wiki that I have to multiply my WM height with an abstract 8 decimal digits seemingly random number that if I decide on making landscapes I’ll have to graffiti on my wall to get it right every time I need it. That solved my height issue tho’ so no hard feelings :slight_smile:

The next major problem I had with with my 3rd person character that even when I placed him on ground and changed the spawn point as well I’d simply get a camera view from the edge of the map and several dozens of kilometers higher than the map for a couple of seconds and then nothing. By messing around with the numbers in the editor I found out that it was destroying my character because he was too low below the x0 on the editor. For now I put the “destroy” value at several millions below zero so it’s fixed. Dirty workaround but it works until I find out how the hell to move all my 64 tiles UP.

Then I had the lighting problem. Big problem that was. It was crashing my editor when I tried to rebuild because I needed to set the LightmassImportanceVolume. Then I spent like 25 mins resizing that thingy up so it covers my map and then it was crashing with out-of-memory errors. One time it even BSODed on me!!! Seems like 12 gigs of ram is not enough to light a 4kmx4km map. (I really need a fix on this!!!)
As a quick and dirty fix on it I put the directional light as movable so it creates shadows as needed (does that even work? At least I have no checkered terrain now). If it works after all, I guess it’s fine now but I’m pretty sure I’ll ran into a lot of problems when I start populating the scene with foliage and static meshes.

And the last problem I found (major one that is) and I still haven’t solved it, is the water. As the island I made is well… an island, it only makes sense to have water around (hell I even spent 35 mins in WM trying to model a romantic lake on it). The only way I found is to make a HUGE plane (like… huge!!) and give it a water shader. Is this really the only way? I’m used from Maya and Unity where I can simply set the shader and it just goes on by itself no meshes needed.

Now I have a couple of questions (not problems simply questions about your guys workflow).

For texture maps you export all diffuse/flow/ao/etc/etc/etc from WM? You create materials in UE4? A combination of the two? I’m not sure on how to tackle this. Can I texture based on elevation/slope from UE4 or I need splat maps from WM?

As for the third person character how exactly does the movement work? I see a bunch of numbers that do not compute with the physics I know. Walk speed 600 for example means what? Also scale x1 y1 z1 means what exactly when I have no point of reference on his size? Trying to use the character to see if the terrain sizes transfered correctly but none of his attributes make sense to me so it doesn’t really help.

And a couple of annoyances that are probably too easy to fix or hide but still… The terrain even at 1m/pixel with an 8k map (or 64 1k tiles) has some ugly hard edges. Any way to smooth them inside UE4 without changing much the terrain I have?

Sometimes the character (especially at those hard edges) walks on the air, as if the collision is ~1m above the actual terrain. I understand that for both of those annoyances adding foliage or rocks etc will make them almost non-visible to the player but I still would like a way to fix them. (however necessary sometimes, I really hate dirty fixes. I want to have no problems on a map, not simply workarounds on problems if that makes sense).

PS. If it’ll help you understand my problems better I can upload some screenshots showcasing them (just ask me to :p).
PS2. Once I fix those probably the next thing to do will be the materials for the terrain and the ocean.

Anyone? (too small)

I’d break up the wall of text, or make a new post with the specific question, not questions. b/c people tend to ignore some of the questions and only answer ones they know. I see a few issues above but I didn’t off hand know the solution so I let it go. But maybe I do if you broke down your biggest problem only, got that solved and move on to next problem.

Your solution was correct, changing the Z kill value. Am I correct in assuming you are using 64 landscape actors as tiles?

I have never used lightmaps on terrain, I’d suggest moving to LPV/full dynamic.

Check the learn tab in the launcher and download the Epic water solution. There is no inherent infinite water built in, use the water BP from the learn tab and clone it around to fill in the spaces.

You can use a combination of those things or one of them exclusively. If you texture by slope, you won’t need maps. My preferred method is to use a sloped based solution for the core terrain and then import the flow maps as a Layer Info map for a separate layer. Because no procedural technique will get you the same accuracy as water runoff/dirt.

I don’t know. I’d suggest to fiddle with it until you get something that “feels” right. I personally don’t bother with units because the final representation is all relative. Does it feel like your character is moving too fast? Or the terrain is too small? Those are easy fixes.

Haven’t run into this problem, you know you can scale the landscape actors. If you want more detail, scale everything down and use more tiles.

Try the console command “RecreateLandscapeCollision” and see if that fixes it for you. Test your terrain in various places to make sure this didn’t cause problems after using it.

Have to ask, whats making this method so basic and what would be the keyword for an alternative way?

Thanks for clearing that one out, Chariots! I think this is precious information to get myself on the right course at the beginning.