One of Unity’s most lacking features is it’s Terrain System.
Don’t get me wrong, beautiful landscapes can be created – but not without putting in a lot of work. I have decided to go hands on with the Terrain System to try and create a beautiful looking desert landscape for my college assignment.
I will be updating this blog post live with progression and developments, but first – research.
Few have asked about creating a nice desert environment in Unity Terrain, many seem to prefer to use external tools such as World Machine.
This was the best attempt that I could find whilst looking around online – I feel like with some smoothing this could have been much better. I am particularly fond of the texture used here, it’s simple but effective – nice!
This was accomplished with the use of World Machine. This is a much more natural desert – with dunes that appear to be where they belong – achieving something like this would be nice, but a challenge no doubt.
This image gave me an idea of how a dune should look, it is interesting to see that one side of the dune is quite smooth, whereas the other is rippled. To achieve this I’m probably going to have to use multiple textures – one for each side of the slopes. Either that or I could have a texture with a normal map and one without, that should work.
I’m starting off with a basic flat terrain – first I want to get my textures right.
The Unity Standard sand isn’t really very appealing to me – I’m looking for something slightly more orange, the Unity Default is kind of murky…
I’ve found a site called Textures.com which seems to host a TON of textures, many free to download as long as credit is given – so here we are.
I’ve found a relatively nice orange sand texture and generated a normal map for it on Photoshop, this should do nicely.
Now time to start moulding this terrain!
My current method has been to have several layers of height. Slowly building up and then coming back down, like so.
I’m hoping that once I go over this with the smooth tool on full opacity, I’ll get a lot of very gradual slopes and falls – quite similar to a dune effect.
After smoothing I have quite a nice result, although I’ve lost a lot of the height that I had – creating a vast desert will require much, much higher slopes than this – so I’m going to get started doing that!
[10:09PM] – Good Progress
Okay, so I’ve just been playing around with the height layering method – it’s working out really well. I am able to produce relatively natural dunes in a short amount of time, although I feel like it can be inconsistent.
In order to make sure that the heights of the dunes are interesting – I have to create so absurdly high points before smoothing. I tried to combat this by reducing the strength of the smooth tool, but this didn’t give me the nice traversable slopes I was looking for.
Another issue I’ve found quite prevalent, is maintaining a good distance between layers. Each new height layer has to be pretty close to the next, in order to create a nice slope, otherwise the heights are too drastic and I’m unable to get my vehicle over them.
This is my most drastic slope, there is a lot of height difference between this newer dune and some of the older ones – I’m hoping this turns out okay!
After smoothing out the dune I found that there was a lot of flat land between my two “major” dunes – so I decided to create some small hills in between and smooth them a little. This was quite effective at filling the empty space – but I still have to use the smooth tool on the highest opacity.
Here’s how it looks in-game and I must say I’m impressed. The terrain is much more interesting from the game view, so that’s good – the only issue I am worried about now is running out of space…
[10:32PM] – That’s the first Terrain filled…
So I’ve just filled the first Terrain piece. From here I could either begin to update my scene with foliage or I could expand outwards with more Terrain tiles, I’ll probably go with the latter so that I can focus on one thing and move on to extra details later.
Here’s how it looks!
[10:44:PM] I had NO idea that was a thing…
So it turns out you can extend terrain! I didn’t even know that this was a thing, but it is and I’m grateful.
I’m going to ramp things up to 2500 meters in either direction, so now I should be looking at a total area of 6,250,000m^2…
I’m sure this will ruin my performance, but ah well.
[10:57PM] Well, that didn’t work…
I don’t really know what I was expecting – everything is much harder to form at such a high resolution, the brush is much bigger and the smooth tool is way more effective now. I’ve also noticed a lighting glitch whilst driving around the map. I’m not too sure what the solution could be, besides lowering the resolution.
I’m going to test 1000×1000, to see if that is bearable, if not I’ll have to return to 500×500 and just piece different terrains together…
[12:41AM] Kinda tired
Alright so I’m marking that as the end of day one! I’ll be updating this again tomorrow during college and then once I get home. I should be a lot closer to a final result by tomorrow!
So I’m getting started with the environment now, going to start from where I left off yesterday with a 1000×1000 terrain.
Only problem is, I’m in college and Unity has to re-import everything because I’m running a different version of Unity… It’s also taking a long time to bake the lighting, which is strange with how close to the default size the terrain is now.
[11:08AM] – Issues.
So all of my textures were removed from my car materials, just had to spend some time getting that to work. I’ve noticed that my directional light for the scene is in quite an awkward place resulting in some strange shadows, I know that’s not my focus but I couldn’t help but tweak it. That’s done now though, time to get back to sculpting this terrain.
It’s also interesting to note that I was still getting shadow glitches in my Terrain, maybe there’s a resolution setting somewhere that I have to mess with, but for now I’m just going back to 500×500.