Polygon Planet: Post 10 - Procedurally detailing the terrain
Updated: Feb 28
I am now content enough with the sky, sun, moon and stars to move on to detailing the terrain.
I've been itching to get on to placement of trees and grass and was wondering which details to do first. In an earlier post I touched on my doubts about which approach to trees would suit best and I came to the conclusion that for this project I would not use the built in tree system but would use GameObjects (or potentially a mix of both).
However, I would like to build up the details on the terrain in an order that roughly approximates realistic sequence of natural world and human interference. So something along the lines of :
1) terrain shape (hills, valleys etc)
2) water (rivers, lakes)
3) rocks and other details created by weathering
4) grasses and other vegetation that quickly establishes itself
6) "human" interference - e.g. roads, settlements, agriculture etc
Procedural rather than manual
The above is not an exhaustive or definitive list but it's good enough for getting started I think.
So with this in mind i have put trees on the back burner until I've the rocks and grasses done.
I also mentioned before that I don't want to manually paint details on to the landscape because (1) it would take too much time, (2) I would struggle to apply a logically systematic approach to placement of the details and most likely the end result would be less convincing.
So my approach has been to write a script that adds details to the terrain by following rules to govern where they should be placed.
Mesh vs Billboard vs Single blades vs Multiple blades
I have been experimenting with single grass blades and clusters of grass blades and comparing the performance and the visual effect.
Although clusters of grass blades can work well I found that the performance was not any better and because the whole cluster (mesh) moved as one in the wind the effect was not as convincing as single blades. Probably a combination of both would work well.
For now though it is sufficient that i have learnt how to programmatically add grass details to the terrainData maps.
I have gone for an unusual color which i think is logical given the sky dominant color is pinkish. I had a chat with ChatGPT about the likely reflective color an alien chlorophyl chemical might be if it had evolved on a planet where the sky was pink rather than blue. It advised a sort of orange color which i think I am ok with. Here it is..
And the in-game appearance can be seen in this video - sorry about the audio levels, i clearly should have gone to bed and was a bit sleepy!..