Heliconian Dev Log 09: Planets
In this post I discuss briefly how I created the planets in the game. I needed 80 different planets, so drawing each one by one was out of the question. But I was also unsure I had the skills to create convincing results by creating them procedurally.
The idea of programmatically creating planet art by manipulating pixels was daunting and I am not really familiar with Unity’s 3D capabilities so I figured out an another way. Since I’m used to Photoshop and 3ds Max I started from there. My simple idea was to create a planet by stacking and blending several textures together in Unity and then randomizing the rotation and color of the textures to make many different versions of it. I rendered a few simple pictures in 3ds Max as seen in the picture on the right. The first one is just the shading of the planet with highlight and shadow areas. The rest are three different textures I am using on the surface of the planet. To get variation I am always using combination of two textures which will be chosen randomly and both of them will have a random rotation. And to color them I just randomly select the color of the planets by manipulating the HSV color values of the game objects. This way no two planets will never look exactly the same.
Atmosphere, Saturn Rings, and Nebulas
To make the planets more visually appealing I added some nebulas behind the planet and in some cases Saturn-like rings. Again, my procedure was the same. I rendered greyscale pictures in 3ds Max and stacked, blended, and colored them in Unity to create the final result. The nebula ring textures are rotated randomly and the the position of the nebula has some randomness as well.
On the left you see a few versions the system generates on the fly. The variation is enough for my purposes and the system is very easy to control. Every one of the game’s 80 planets will look different from each other, but at the same time, chances are that several of them will look somewhat similar to each other as well. But I guess that would be the case of the real star system as well… Thanks for reading and please let me know you thoughts and ideas!