Introduction

In some cases, you may not wish to manually assemble textures by hand, or you may not have the time to fumble around with layers and filters to make your planet surface textures. Thankfully, there are a few tools out there that make the process of creating textures for your planets even simpler! For this tutorial, we will be looking at one tool in particular: Textures for Planets

This tool is specialized in that its only use is for generating planet surface textures. It comes with handy built-in features that allow for the creation of randomly generated textures for both Rocky Planets and Gas Giants. These textures can sometimes look more realistic or detailed than those made through manual editing, though they also have a very particular old school style. The main downside to this tool is that it lacks certain customization options, so you are mostly limited in your ability to decide where anything is placed or how the terrain is generated.

Textures for Planets creates the appearance of terrain using a fractal algorithm that ‘fractures’ the image, or ‘subdivides’ regions, into smaller ones, through a process called fault formation. Once the image has been subdivided into triangles over and over, the end result begins to take on the appearance of mountains, valleys, coastlines, and landmasses. Take a look at the example below to get an idea how this process works:

Fractal Fault Formation

As you can see, each iteration of the fault formation process produces more and more defined contrast between the colors in the image, and various terrain features, landmasses, or bodies of water begin to appear. The algorithm it uses to generate textures are the same no matter which type of planet you are generating, so they can sometimes begin to look very similar after a while, requiring you to be particularly creative when creating colorizers for the software to use.

This particular tutorial serves an archival purpose: While the Textures for Planets website is still active and the software is still available for download, the tutorial sections related to creating custom planet colorizers or tools are inaccessible, so I have taken it upon myself to maintain this information on my site.

Nonetheless, it is a very useful and FREE tool that can assist in the creation of textures for both Rocky Planets and Gas Giants. In fact, both the 2D Planet Pack 1 and the Planet Surface Textures Pack from Screaming Brain Studios were created using this very tool! 

TfP: The Interface

When you first launch the program, you will be presented with a selection window where you can choose from a number of preset planet types. There are several Rocky Planets, including some with cloud layers, as well as some presets for Gas Giants.

If you are ever working on something and you would like to create a new planet instead, simply select File from the menu bar at the top and click on New Project to bring up the planet preset selection window. For this section of the tutorial, I’m going to select the Dry planet preset.

Dry Planet Preset

Textures for Planets utilizes a list of steps, which can be seen along the left side of the screen, and follows them in order from top to bottom to generate multiple texture variations, add terrain features like craters and cracks, or produce different resolutions of the final textures.

Landscape Generation Steps

Right clicking on any step in the list will bring up a menu where you can change the order the steps are run by moving them up or down, edit the selected steps, or remove them from the list entirely. If you take a look at the list of steps, there is one in particular that we do not usually need, outlined in red in the example image below. This step will produce an icosahedral render, which is not the type of texture we are trying to make for this tutorial. Instead, we are simply making equirectangular renders, which are generated to be wrapped around a sphere.

Unnecessary Step

Unless you are planning to work with or have a way to utilize icosahedral textures, you can right click on this step and choose Remove from the list of options. This will mainly save on render time, since we only need to render equirectangular textures. If instead you would like to change the icosahedral render step into a different sized equirectangular texture, you can right click on the step and select Edit Step to bring up the Edit Step Properties menu. There are various settings available here to determine the output of your texture renders.

Edit Render Properties

You can change the size of your texture output by setting the Texture Width and Texture Height values to your desired size, though it is recommended that you use a 2:1 size that is twice as wide as it is tall for the best results. You can generate textures of any size if you like, but for this tutorial, I’m going to stick with 1024×512 for my textures. The Projection option allows you to choose between the icosahedral or the equirectangular projections.

The next two options, Render Ground Layer and Render Cloud Layer determine whether this particular render step should render just the planet terrain on its own, just the cloud layer on its own, or a combination of both with the clouds overlaid on top of the terrain. The last two options, Ground Coloring and Cloud Coloring, allow you to select from the list of preset planet and cloud types to be used as the ground layer and cloud layer respectively.

From here, if you choose File from the menu at the top of the window and Save your planet project, keep in mind that this is how you will be creating a new template file that can be accessed from any of your custom colorizer files. A template or project file in Textures for Planets saves the render list and all the settings related to how this type of planet will be generated. It can be a little confusing at first, since the way things work tend to be a little bit ‘circular’ and a template file may refer to certain colorizers, while certain colorizers may also refer to a specific template. We will go over how to make custom colorizers further on in the tutorial.

TfP: Rocky Planets

The first type of planet texture we are going to generate is best for terrestrial or rocky planets, and tends to be much more customizable in Textures for Planets than those used for gaseous planets. It is also possible to include additional terrain features, such as craters, when working with rocky planet textures.

Example Rocky Planet Texture

By default, the Create World step at the top of the generation list cannot be removed. By moving the slider in the properties panel for the Create World step, you can increase or decrease the number of times the texture is subdivided. The higher this number is, the longer the process will take, so it’s usually best to keep it somewhere in the middle between 5 and 7. In order to generate a Rocky planet type, you must also include the Landscape step in the list.

Landscape Step

This step generates ‘tectonic iterations’ that produce variations in the height values of the image. Without this step, you will end up with a texture better suited for Gas Giants (Which you can read about in the next section of the tutorial!) I’m going to continue to use the Dry planet preset that we loaded in the previous section, which should already have a Landscape step in the list by default. Right clicking on the Landscape step and selecting Edit Step Properties will bring up a slider that allows you to choose how many tectonic iterations you would like.

Landscape Properties – Tectonic Iterations

The same case holds true for the slider in the Landscape properties, where higher numbers will create more detail in the image, but tend to take far longer when rendering. I tend to keep the slider between 2000 and 3000 for most of my renders so it doesn’t take thirty minutes to render each texture. If you take a look at the next two steps in the list, you will see several Tools with two different types of features: canyon and crater.

Tool Steps

By including these in the list of generation steps, a series of additional details will be included as the terrain is being rendered. The Tool step in Textures for Planets works by randomly placing additional grayscale terrain features into the render so they blend into the landscape. Right clicking on either of the Tool steps to bring up another properties window.

Tool Properties Window

In the Edit Step Properties window for the Tools step, you can set the minimum and maximum size of the terrain feature, as well as the minimum and maximum number of times the terrain feature will be included in the texture as it is generated. Clicking on the large button next to Effect Tool will also bring up an entirely new preset menu that includes all the available terrain feature Tools that are currently in the tools folder.

Tools Preset Gallery

By default, Textures for Planets comes with three Tools: canyoncrater, and volcano. Each of these will add various details to the planet texture as it is being generated, so try experimenting with different combinations of Tools or different size values to see how they affect the texture. We will take a look at how to make your own custom Tools later in the tutorial. 

Another useful step to include in your render list is the Cloud Layer, which adds randomly generated clouds as an overlay using a different type of colorizer. 

Render Cloud Layer On

The cloud generation in Textures for Planets does not look incredibly realistic, but it can be very useful for adding an additional layer of depth or detail to your planet textures, as well as the ability to render just the clouds on their own to be used in other programs or wrapped to 3D spheres. Right clicking on the Cloud Layer step brings up a properties window with a lot of different settings.

Cloud Properties

The Cloud Type allows you to choose between Terrestrial Clouds and Gas Giant cloud bands, each with their own properties. For this section of the tutorial, we are going to use the Terrestrial Clouds as the Cloud Type and the settings from the example image above. The properties of the cloud colors themselves can be changed by changing the Cloud Coloring option in the step properties for your final render step.

The final step required in the list is the Render step, where you can set up the dimensions of the final textures as well as whether or not to include a cloud layer at all. You can also select the Cloud Coloring option to change the type of cloud colorizer that is used when generating the cloud layer. When you are satisfied with all of your terrain settings, press the large Generate Textures button at the top of the window (it looks like a Play button) to bring up one final window.

Run Planet Generation

Here you can tell Textures for Planets to generate up to 100 different variations of the planet texture in one go if you like. Make sure to select a folder to output your textures into. I’m going to keep the slider at a lower number and create about 25 different variations of my texture.

Generate Textures Window

Press the Generate Textures button to begin the rendering process. It may take a while depending on how high you have set the Number of Worlds slider, but it will generate appropriately named texture files in the folder you have selected using all of the steps and settings you have set up in your render list.

Final Rocky Planet Texture

You can use any of the methods outlined in the 2D Planet Sprites tutorial to convert your planet texture into static 2D images or even rotating animated spheres using GIMP, or you can import your texture into any 3D software for mapping to spheres. The textures generated with Textures for Planets are already correctly warped at the poles, so there is no additional editing required to make them work correctly with 3D models.

TfP: Gas Giants

Now we are going to take a look at one of the other types of planet textures that can be generated with Textures for Planets using the Gas Giant preset.

By default, the Create World step at the top of the render list cannot be removed, and changing the Subdivision value will only have an effect on the texture if it is the only step in the list. Also by default, the Gas Giant preset that comes with Textures for Planets uses a Cloud Layer step to produce the storm bands of the gas giant. Select File from the menu bar at the top and choose New Project if you are not already looking at the Planet Preset Gallery. I’m going to select the Gas Giant preset from the list.

Textures for Planets Presets

If you double click on Cloud Layer – Gas Giant Zones, it will bring up a properties window where you can tweak some settings. Instead of Terrestrial Clouds, our Cloud Type should be set to Gas Giant Zones instead. This will create a series of horizontal bands that stretch across the texture with the ability to add smaller swirls and turbulent storms to the bands.

Gas Giant Cloud Settings

You can set the minimum and maximum values for each setting, and the tool will randomly choose values in between when generating your textures. At the very bottom of the settings window, there is a setting called # of Iterations that determines how much detail or how many ‘passes’ the generator should take when creating the final texture. Higher values will take much longer to generate, so try to keep them between 200 and 600. Press OK when you are happy with your settings and Textures for Planets will generate a preview using the settings and texture size you have set in the Render step.

Preview Texture

This lets you apply changes or add multiple render steps to the generation chain if you prefer without rendering hundreds of images to your computer. In order to save or export your Gas Giant texture so it can be used, click on the triangular Generate Textures button at the top of the screen.

Run Planet Generation

The next window that pops up allows you to select how many variations of this particular texture you would like to generate and save. Should you actually want hundreds of different planets, you very much can do so by moving the slider to the right. Keep in mind, it will take a very long time to export multiple textures.

Final Generated Gas Giant Texture

You can use any of the methods outlined in the 2D Planet Sprites tutorial to convert your planet texture into static 2D images or even rotating animated spheres using GIMP, or you can import your texture into any 3D software for mapping to spheres. The textures generated with Textures for Planets are already correctly warped at the poles, so there is no additional editing required to make them work correctly with 3D models.

TfP: Custom Colorizers

Each planet template in the preset gallery is based on a colorizer. The spelling in the case of this tool would be colourizer, or colours, so just to keep things consistent with the software, try to use this spelling whenever you are naming things. For this section of the tutorial, we will be creating the colorizer for a Toxic planet. 

Example Toxic Planet

Each colorizer file contains one or more color gradients, a thumbnail image for the preset gallery, and a settings file that tells Textures for Planets which render steps to use or how to name the preset. By default, the colorizers and tools can be found in the C:\Users\YourUserame\TexturesForPlanets\ folder separated into ColourizersTools, and Templates, along with a sample colorizer image.

Tools and Colourizers Folder

If you open the sample colorizer image, you can get a quick and simple idea of how the colorizers are prepared. This is what provides the color palette that Textures for Planets will use to generate your planet.

Example Colorizer Gradient

By default, each colorizer is 200×200 pixels in size and follows a particular set of rules, as shown in the example below.

Gradient Color Map

Colors intended to be displayed at the highest altitudes (such as mountains) should be towards the top, whereas colors that should display near the lowest altitudes (such as oceans or valleys) should be towards the bottom. Just the same, the colors closest to the left side of the gradient will be applied to areas near the equator, while colors closest to the right side of the gradient will be applied to the planet poles. If you want a sharp change between areas that should be terrain and areas that should be water, use a straight line with no blurring between the colors.

The easiest way to create these is to use an image editor, like GIMP, to create the basic color zones. Then, using the Blur tool, Smudge tool, and a bit of Noise applied as a filter, you can get quite creative when it comes to producing different values of light and dark in your gradient. When you have made your gradient, export it as colours.png into a new folder somewhere on your hard drive.

In order to use this as a colourizer in Textures for Planets, we have to have several files in this folder:

  • colours.png
  • sample.png
  • colourizer.txt

Each file has a different function. The colours.png file is our gradient color palette, and it is important to note that you can have more than one color palette per colourizer. The sample.png file is intended to be used as the preview image or thumbnail in the preset gallery. To start with, you can simply copy colours.png and rename it to sample.png, as we won’t actually have a planet image to use as a thumbnail right away. The third file, colourizer.txt, is our settings file containing all the information we need to actually use the colourizer.

Start by creating a new text file and naming it colourizer.txt before opening the file. All we need to put inside are the following lines:

name=Toxic
template=plain
template_colourizer_surface=Toxic
template_colourizer_clouds=
show_in_start_gallery=true
author=Textures for Planets

It may be simple to figure out for some, but for those who might be confused by this, I’ll break it down into more detail.

The name entry tells Textures for Planets what to call our toxic planet preset. We have given it the name “Toxic,” which will show up when browsing the preset gallery.

The template property tells Textures for Planets which planet template to use for this particular preset. Planet templates are made by saving a planet project while working on any type of planet. This is basically a preset list of render steps that can be recalled for any planet type, as long as it is specified as the template in the colourizer.txt file.

The template_colorizer_surface property tells Textures for Planets which colorizer file to use (in this case, it will be loading the Toxic.col or Toxic.zip file from the Colourizers folder, depending on which file extension you choose to use) to color the surface of the planet. This would be the gradient we made earlier in this section.

The template_colorizer_clouds property tells Textures for Planets which colorizer file to use (in this case, we are not using clouds quite yet) to color the cloud layer.

The show_in_start_gallery property tells Textures for Planets whether to display this colorizer preset in the gallery when you launch the software. Set this value to false if you just wish to use the colorizer file to color other planets, or as a cloud layer, rather than as a whole planet type.

Finally, the author property allows you to include your name or a credit denoting you as the creator of this colorizer or planet preset.

Once you have saved your colourizer.txt file, grab all three files and zip them into an archive using WinZip or WinRAR. I am uncertain if the software can read *.rar files, but it definitely works with *.zip. I personally follow the same filename convention used by the default colourizers that come with Textures for Planets and rename them from *.zip to *.col which is considered a colourizer file for the software, but you can leave the file type as *.zip if you prefer. They will both be read by the program just the same.

Zipped Colourizer Files

It is also possible to include multiple colours gradients in your colorizer file, by simply adding consecutive letters of the alphabet to the end of the filename. For example, the first color gradient would be named colours.png, as shown earlier. Any additional gradient must follow the naming convention coloursb.pngcoloursc.pngcoloursd.png, etc. as in the example image below. When generating the planet textures, Textures for Planets will select randomly from the available color gradients.

Using Multiple Color Gradients

Once you have collected all your files into the *.zip archive, you can launch Textures for Planets to see your new preset show up in the preset gallery using the thumbnail image you saved as sample.png in the colorizer file. If we were to use the new Toxic colorizer from the examples above, the resulting planet texture would look like the example below:

Example Toxic Planet

Having multiple gradient color files in your colorizer causes Textures for Planets to randomly select between all the available color palettes, which can be very useful when you would like to create a large number of different variations of the same render settings or planet template. You can also open any of the existing *.col files using WinZip or WinRAR to view how each colorizer has been put together.

Continue to the next section of the tutorial to learn how to make custom Tools that add features like canyons or craters to your generated planet textures!

TfP: Custom Tools

In addition to colorizers, there is another built-in feature that allows you to add more detail to your planet textures called the Tool. By default, Textures for Planets comes with three types of tools: canyon, crater, and volcano. When you include the Tool step in your render list, a series of terrain features will also be applied to the generation process, such as the craters in the example image below.

Example Craters

The process for creating custom Tools to use in Textures for Planets is almost exactly the same as the process used to create Colorizers, with a few small differences. The image files we will be using to create our custom Tool are going to be 100×100 pixels, or half the size of our color gradient images. Each tool image uses a grayscale heightmap for determining areas that are raised or lowered in the final texture render. Areas with pixels brighter than 130 are raised, while pixels darker than 120 will be lowered. The darker the color of the heightmap, the lower the terrain will be, colored with low elevation colors. Each time the generator is run, each height map will be selected at random and applied to the final texture.

For this section of the tutorial, we will be creating an improved crater. I’m going to go ahead and use the improved crater images from the original inaccessible Textures for Planets tutorial to give you an example. Feel free to save these example images to use in your own crater tool!

Each of these image files must be named using the following naming convention: heightmap#.png, where the # is replaced by the consecutive image index numbers (ie. 0, 1, 2) so each file is named heightmap1.pngheightmap2.png, and so forth.

Once you have the heightmap images in the folder, create a new text file named tool.txt, like we did with the colorizer.txt file in the previous section of the tutorial. Inside this text file, we only need the following lines:

name=Improved Crater
defaultsize=5,25
defaultcount=50,150
author=<your name>

The name property stores the name you would like displayed when viewing the tool in the tool gallery. For this example, we will be naming it Improved Crater.

The defaultsize property contains two values: 5 and 25. These two numbers are a range determining the size (this is measured as ‘height in lattitude’ inside Textures for Planets, though I could not say whether this is pixel size or not.) between 5 and 25.

The defaultcount property works in a similar way, using two values to determine a range for how many craters (or instances of the tool being used) will be placed in the texture. For this example, we are using a range between 50 and 150.

Finally, the author property is for you to include an author or company name to tag the tool as your creation.

You will also need to include a sample.png image of 200×200 pixels in the folder to use as the gallery thumbnail when browsing the tools preset gallery. You can make one of your own, or use the example image below:

Improved Crater Thumbnail

Once you have all of the files together in a folder, they must be zipped up into an archive, much like we did with the colorizers in the previous section of the tutorial.

Final Tool Files

Once you have all the files inside a *.zip archive, rename the archive to improvedcrater.tool and launch Textures for Planets to try out the new crater tool! Simply add a Tool step to the render list and right click on it to edit the properties. You should now see the new crater tool included in the Tools preset gallery.

Completed Improved Crater Tool

Once you have created textures using the Generate Textures button at the top, you can use the methods outlined in the 2D Planet Sprites tutorial to convert them into 2d spherical planets, or you can apply them to 3D spheres and create 3D planets instead. One additional tip is to create a 3D render or a 2D planet sprite and use that to replace the sample.png image file in each of your colorizers so that you can see a preview of the finished planet inside the preset gallery.

TfP: Custom Clouds

The very last thing we need to take a look at is how to create custom cloud colorizers, for any planets we may want to use with a cloud layer. Almost all of the steps are exactly the same as the ones outlined in the section about custom colorizers, with a few small differences.

Much like the planet colorizer gradients, cloud layers use their own colorizer gradient of 200×200 pixels in size. The same rules apply to the cloud colorizer gradients that apply to the planet colorizers, in that colors to the left are going to affect the equator while colors towards the right will affect the poles, and colors towards the top of the gradient will affect the highest altitudes and colors towards the bottom of the gradient will affect the lowest elevations. This can be used to distribute clouds around certain areas of your texture. Since we are making a cloud layer this time, we also need to include a transparent color in our gradient, to determine where cloud layer will display transparency. Take a look at the example cloud colorizer below:

Cloud Colorizer

Much like the previous sections of the tutorial, we will need several files, including colours.pngsample.png, and colourizer.txt in our folder. You can save this cloud gradient and save it as both the colours.png and the sample.png files for now.

Inside the colours.txt file, we just need to include the following lines:

name=Toxic Clouds
template=plain
template_colourizer_surface=
template_colourizer_clouds=Toxic Clouds
show_in_start_gallery=false
author=Textures for Planets

Almost all of the parameters are going to be the same as you would have in any other colorizer file, only this time, we will be setting the show_in_start_gallery value to false. This will prevent the cloud layer from showing up in the planets preset gallery, since it isn’t a planet. Compress all three of the files into a *.zip file and name it toxicclouds.zip or toxicclouds.colto save the cloud colorizer.

Now all we need to do is go back to our toxic.col or toxic.zip file (depending on whether you decided to go with the *.col file extension or not) and modify the colorizer.txt file so that it includes our new cloud colorizer. Open the colorizer.txt file from the Toxic planet colorizer (toxic.zip or toxic.col) and change the lines so they look like this:

name=Toxic
template=terrestrialclouds
template_colourizer_surface=Toxic
template_colourizer_clouds=Toxic Clouds
show_in_start_gallery=true
author=Textures for Planets

First, we want to change the template value to use the terrestrialclouds template. This is a default template that has the render list set up for using a cloud layer. The second change is to set the template_colorizer_clouds value to Toxic Clouds, so that Textures for Planets knows to use the new Toxic Clouds colorizer we just made. Save your colorizer.txt file, re-zip all your files once more, and make sure your *.zip or *.col file is in the colourizers folder. Now when you run Textures for Planets and select the Toxic planet type, it will generate with the new Toxic Clouds layer!

Final Toxic Clouds Layer

Don’t be afraid to experiment with your color gradients when creating new colorizers, especially applying things like Noise, Grain, Blurs, Smudges, or even shapes. Using these techniques, you can combine different terrain Tools and custom terrain Colorizers to create all kinds of different planet surfaces.

Don’t forget, you can already grab a whole pack of premade fault formation planet textures from Screaming Brain Studios in the Planet Surface Textures Pack to save yourself some time!