Help with refining a tilemap - Do I need shaders or what?

Hi,

I have a large tile map that can be 100’s x 100’s in size. I’ve made it by creating a mesh of many tiles (triangle x2) and then mapped the UV’s from a texture onto each square.

This works fine and looks like this https://puu.sh/sawhP/8920857d7f.png

The tile images are based on the height component from a fractal map. This all works fine.

What I would like to do now is to refine the tiles so that the boundaries between different levels are are rounded and it appears more organic. Now I could go and create hundreds of tiles and pick the correct one with a bitmask etc but as there are eight colours that would need a crazy number of combinations.

So am after suggestions from anyone who has tackled this thing before. I have never written a shader but that may be the way to go? I’m not sure.

I’m currently thinking layering two tiles on top of each other with the bottom tile having a solid colour and the top tile having the shape of the edge with transparent ‘non edge’ parts so the background will come through. If this top tile was white I could then colour it on the fly perhaps?

Can anyone tell me the ‘correct’ way I should be heading for this?

Many Thanks.

You can solve this with Standard Shader, but you will have to change surface normals. All of your normals probably point to the same direction - UP. All you have to do is slowly interpolate surface normals according to heightmap changes.