Procedural Planet

I thought I might as well do some procedural rings too. So here, some rings to go with a planet. I am quite happy with how it turned out as it works very well. The inner diameter and outer diameter can be set, and it is scalable for any size planet. Two colours can be used at the moment.

PROPS, on this!

As a space game junkie, I’ve spent a good amount of time creating asteroids and planets using straight textures, or the Flaming Pear’s LunarCell plugin.

I also bought Gleb’s space and planets training, but have yet to go though it all.

Great stuff you’re doing here - please keep it up!

-Will

1 Like

That’s right… another update! This is the third version of my generator. I started it a two days ago and it is already way better than the previous two.

Planet shader node group

I had to make a new node group to do better colours. It is called procedural grunge and allows for creation of so much more.

Concrete material

Grunge node group

Entire render:


Blender 2.83 Cycles + compositor
512 samples (adaptive)


How does it work?
A special process is used to generate the entire planet. First off is the terrain shapes. For this, I generate a height map of the planet and normalised to 0 to 1. The height map is quite important to the planet.
The node group that generates it also provides the water mask to differentiate between water and land.
The height map is fed into a bump map node for the terrain shader, and the mask is sent to a mix shader node that determines whether a place is water or not.
The height map is also plugged into the climate node group. This group generates temperature and water abundance from values such as altitude (height map), proximity to bodies of water, and predetermined global temperature and water, and size of its poles.
At the same time, a different node group, called procedural grunge generates colour textures.

Both the grunge and climate data are then combined to create the colours of the terrain. I use three grunge textures for the vegetation, desert, and snow. Finally, the one colour is put into the shader for the terrain.

I went and rendered out a new version with better clouds. The atmosphere and cloud shadow needs to be fixed up.

1 Like

I have now created a node group for inputting planet textures. This means that if the procedural ones are rendered out, they can be fed into this for fast render times.

1 Like

Download

It’s time to release it! The planet is not 100% complete, but it is close. The majority of it is functional, but I have not made the clouds or atmosphere as controllable as I would like to. Still, it works like this so it should be fine for most purposes.

Download it here from Google Drive:
https://drive.google.com/file/d/1B4zxG04lxUMj_B4WalD7XrSBS6ajLrdL/view?usp=sharing

It is licenced under Creative Commons Attribution 4.0 International (CC BY 4.0)
image

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material
  • for any purpose, even commercially.

Under the following terms:

The project is not dead!

I went and made up some more planets, this time with a big focus on realism. They are still fictional planets. though.



This time, I made sure to get the scale looking right. Now it actually looks like a big planet.

2 Likes

Hey, this looks awesome! :smiley:

But somehow I cannot open that blend-file you supply. In the moment I try to open it, my Blender (2.91) freezes.
I have to admit, I am working on a laptop with integrated graphics (Intel i7 quadcore with Intel HD620 graphics and 16 GB memory).
Is a dedicated GPU necessary, to efficiently run your node setup?

I downloaded the file and ran it on Blender 2.91.2 to test it out. Works fine for me. I don’t know what the issue would be. For your information, the file is from 2.83.

I haven’t tested the scene on CPU as I only render with graphics cards, so I couldn’t say for how well it will work. A GPU most likely will be needed to render it fast. One thing to note - what makes the planet much slower to render is the volumetric atmosphere. If you disable it, it runs quite fast, probably fine on a CPU too.

Ok, I managed to append the material in a new blend file and had a look at the node tree of the planet shader. I think it is simply too much for my little “GPU”. I’ve noticed when doing tutorials for procedural materials, things become horribly slow for me, when I use more than 20-30 nodes. And you setup is insanely complex. :smiley:
I will test it on a bigger machine (after the Covid-lockdown).

Update:
Just got my hands on a new laptop with RTX2080 that is able to handle your procedural material and I have to say: It is awesome! :star_struck:
Great looking planets (absolutely comparable to those planets in the HD remake of Star Trek TNG that I am currently watching). Works also great in the viewport. Just slide the water level and you can go from a desert to an ocean world. :+1:

1 Like