Procedural terrain engine in Unity3D - not the Unity terrain

This is procedural random terrain :stuck_out_tongue:

Here is a small update on the terrain generator.
Iā€™ve added terrain textures. The textures are selected by temperature paramaters generated for the ā€˜planetā€™.
Is also has a running daylight system. But that still needs tweaking so there is no focus on that in the video.
The vehicle - a mining vehicle, is also present in the game.

Next big step is a spaceship so the player can leave the planet to explore the galaxy.

See the video here.

This terrain generator creates a random terrain based on a seed value. The landscape stretches into infinity as it keep creating more terrain in the direction you travel ( and also removing unneeded terrain in the distance behind you naturally. )

That is very nicely done! I also looked at your planar lighting video, which is also very cool. If you decide to license the procedural terrain code please let me know! :slight_smile:

Are you using a form of splatmapping for the shader?

I am making a semi-procedural terrain system for an archipelago. Itā€™s not runtime procedural, the heightmaps, splatmaps, detailmaps, and lightmaps are all generated via WorldMachine. Actually I am using USGS heightmap data as the basis in World Machine.

What IS procedural about it is everything to make the terrain come to life in Unity. The only (huge) drawback is that there seems to be no way I can tell that I can avoid the game ā€œhangingā€ for 1 second on a 512x512 terrain. Iā€™ve done all the loading and processing in separate threads but it is apparently impossible to avoid the hang-up when using SetHeights() and SetAlphamaps() because they have to be called in the main thread.

I really like your procedural world, and it apparently doesnā€™t hang when loading new areasā€¦this makes me incredibly jealous! :frowning:

The terrain shader selects a texture based on terrain height. There are eight textures per terrain,: Sand( horizontal ), Grass( horizontal/vertical ), Dirt( horizontal, vertical ), Snow( horizontal ), Rock( vertical ). These textures are loaded when the terrain generator starts up and are selected by generated planet parameters. For the blending, I use the heightmap and normalmap to create noise used for blending in between texture layers.
For the uvs I use shader-based 3-planar uv mapping. See video here

you rule dude, just been looking through all your stuff. Brilliant!

subscribed