It is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
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:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
I have posted many updates in below posts.
The following is the original post I made and is what I originally did to achieve it. See my final post on this thread to see what it currently looks like and where the above most recent image came from.
Procedural Planet Material
This is the current progress of my attempt at a procedural planet. It still has a lot of work to do.
Currently, the node setup is still a mess, but is readable and can easily be modified to produce other planets.
This version of the procedural planet allows for a better terrain generation. It can generate a procedural heightmap, which is then fed into the colours of the terrain as well as a mask for where water should be.
Here is the scene:
As you can see, the planet is quite big, however in the image below, you can see that it is the object itself that is scaled up, and not the mesh. The mesh is 2x2x2 blender units in size (which I have set to metres)
Here you can see one of the polar ice caps! They are customisible, with the ice cover controlled by one of the inputs to the nodegroup, and colour by another. All ice and snow colour can be set.
Also, here is a render of a desert planet, to show the capabilities of the planet generation:
What you have looks really good so far, but I suggest you use some reference images to keep it looking realistic. For example Jupiter, Saturn, Uranus, Neptune,… all have ring-like latitudinal details. Also, your clouds look very thin compared to actual cloud cover on the earth-like planet.
The clouds have been improved, and terrain colours fixed up so that the nodes are cleaner and more organised, as well as being more realistic in colours (e.g. snow-capped mountains)
Currently, it is yet to be imported into Blender 2.8. I haven’t figured out how to set up node groups yet. I also have to get my graphics card to be detected first - for some reason Blender 2.8 cannot detect my GTX 1060. I am going to reinstall the drivers and see if that works.
The detail is not as fine as it should be at the moment for that distance. I have to debug it to get closer details as some of the noise nodes are not working properly.
You can see in this image that the transition of land to water is still very sharp and detailed, however the actual terrain texture hasn’t got enough patterns in it at this distance. I must also say that the planet is powered completely by node setups, so mountains would still appear flat as there is no displacement, only bump. Also, the clouds look a bit weird and not cloud-like. Maybe that is the weather on this alien planet?
Edit: The reason it looks like that is because the colour hasn’t been made detailed enough. What you see is the limit for the detail.
Here is the node setup in Blender 2.79. Haven’t put it into 2.8… yet. As I said before I have to fix up a few things, especially get my graphics card to be detected. For some reason Blender 2.8 will not, so I am going to reinstall the drivers first to see if it works.
Unfortunately it becomes way too pixelated when zooming in to see the actual nodes so no details are visible. If it’s not too much trouble, would it be possible to share the blend file ? I’ll open it in 2.8 and see if it works.
Btw you mentioned you have a GTX 1060. I also have the same gpu and looks like after lowering the render tiles to 64x64 from 256x256 like you had them set up in the file, it lowers the rendering time considerably, from 20 minutes to 7.
Thanks a lot for this node setup, it is amazing !
The node setup that I had became very complicated to work with, and there were many aspects of it that I wanted to improve on. Additionally, with Blender 2.8 released, I wanted to use it instead and get used to the new UI.
I decided to rewrite the procedural planet material taking what I had already learnt to see if I can get a better result. In a much shorter time than before (~3 days), I have now got a much nicer planet! Still needs some changes to it, but majority of it is working.
The clouds haven’t been added in this one, and I have exaggerated the terrain roughness to show it off a bit.
You can see how I have managed to get a much more realistic result with the terrain, and this time, is much more detailed than the previous.
Other things that have been added include,
Support for vector inputs (to allow for more unique results with the procedural noise, as well as the ability to rotate and shift it around plus map it to UV rather than the default “Generated” mapping)
More detail in the colours which was severely lacking previously which caused closeups to not look nice (see one of the previous posts)
Organisation with more node groups to separate the terrain roughness with the terrain colour generation (now the terrain is generated first, and the colours semi-depend on the shape of that terrain)
Principled shaders
I hope to get more done with this nodegroup!
My future plans include better mountain snow, the ability to set snow cover, 3d clouds (volumetrics?), and of course, bug fixes.