Streaming World – Improving Terrain Noise

I decided to take a step back and have quick look at my base terrain generation. I wasn’t very happy with the overall appearance and contours of noise, and smooth noise functions alone weren’t enough to achieve the desired result.

To fix this, I changed my mind about using the the large height map data (sometimes called the noise map) which is also in WOODS.WLD. If you’re not familiar with this additional map, it is a 5000×2500 version of the 1000×500 height map I showed in part 1. Not all of this map is usable as there is a grid-like pattern overlayed with an unknown purpose.

Below are 3×3 terrains with city of Daggerfall in the middle. I have increased height scale so any deformations are more visible. This is basically the terrain from my previous article with all noise removed. Bilinear interpolation is used to smooth transition between height samples.

SmallHeightBilinearThis really isn’t very interesting. Next I’m going to use the large height map, which has 3×3 samples per terrain instead of 1×1. This looks like the following when using nearest-neighbour interpolation.

LargeHeightPointSamples

There’s definitely more sample points, but it resembles Minecraft more than Daggerfall. Let’s smooth things out a bit using trusty bilinear interpolation.

LargeHeightBilinearSamples

Ouch, that’s still really ugly. With more sample points, bilinear isn’t really an appropriate choice anymore. The next best thing is bicubic interpolation.

LargeHeightBicubicSamples

Much better! Bicubic ensures a nice continuous curve through all sample points and provides a more interesting base terrain compared to the very first screenshot. I am much happier with this as a starting point.

So far, all this data is being read from Daggerfall’s files. I haven’t added anything besides scaling up the height. As before, I will use a bit of smooth noise to add fine details at ground level and flatten out the city areas.

Now that’s out of the way, I can go back to improving other aspects of terrain quality.

Posted in Daggerfall Tools for Unity.

2 Comments

  1. Wow check out those curves! Look sexy as hell hehe

    I guess you will still use the height map you’ve create in the first part to flatten the city noise?

    Also other quick question: remember Daggerfall water on world map ? It was flat as the ground and not very good looking…Is there a way to make it appear lower or simply different than the ground itself ? you know… make it popout!

    I’m pretty sure I could do the trick via via normal mapping or reflective map myself but I’m asking your opinion on this one since I’m not quite sure 😛

  2. You got it. I’ll still use the scale map technique to flatten cities and smoothly yield back to wilderness terrain. This needs a little tuning for the new curves, but concept is the same.

    Water is definitely in my sights. I’m only going to make a basic pass on water now, but it will be an improvement over native Daggerfall. It will appear lower than terrain and use Unity water rather than just a flat textured surface. Will show this off towards end of streaming terrain series.

    If you’d like a quick preview of water, check out the link below. Unity has several water prefabs, some are only compatible with Pro. I’ll be using basic Free-compatible water in the tools, but I own Pro so can use the sexy water in my demo builds. 🙂

    http://docs.unity3d.com/Manual/HOWTO-Water.html

Comments are closed.