Skip to content
A stylized procedural planet generator written in Godot 3.0.
Branch: master
Clone or download
Latest commit 16eb8d1 Jul 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
.gitignore
LICENSE
README.md Add video Jul 3, 2018
default_env.tres
icon.png
icon.png.import First commit right Jul 3, 2018
main.gd First commit right Jul 3, 2018
main.tscn First commit right Jul 3, 2018
mat_bark.material First commit right Jul 3, 2018
mat_leaves.material First commit right Jul 3, 2018
planet.dae First commit right Jul 3, 2018
planet.dae.import First commit right Jul 3, 2018
planet.tres
planet_albedo.tres First commit right Jul 3, 2018
planet_roughness.tres First commit right Jul 3, 2018
planetmat.material First commit right Jul 3, 2018
project.godot
tree.dae
tree.dae.import First commit right Jul 3, 2018
water_mat_shader.tres First commit right Jul 3, 2018

README.md

Stylized Planet Generator

This is a stylized procedural planet generator written in Godot 3.0. It creates oceans, lakes, icy mountains, forests, etc.

demo

Here's a video of it in action.

How it works

The algorithm is based on some article I found many years ago, unfortunately I lost the link to it. If anyone knows where it is, let me know. The idea is as follows:

  1. Start with an icosphere.
  2. Pick a random vector on the unit sphere and call it v.
  3. For every vertex p in the icosphere: if the dot product between v and p is positive, move p a little away from the origin. Else, move it a little towards the origin.
  4. Repeat 2 and 3 a few hundred times.

After that, trees are planted. A probablity distribution is generated over the entire set of vertices, where the probability of placing a tree depends on the elevation of a vertex. A vertex below sea level has probablity 0, so no trees are placed below sea level, and the probablility increases when reaching "average" elevation, and then slowly drops off to zero again in the icy mountain range.

License

MIT

You can’t perform that action at this time.