Creating Moons in Blender for FREE | Beginner Tutorial

Sep 20, 2020


This is a technique that I had to learn for an upcoming short project of mine that is a quick, easy, and computationally light way to iterate nearly limitless textures for rocky moons. We are going to blend two textures together and use a third to tell us how they should mix. If that doesn't make sense, don't worry, we will go step by step together.

(Video tutorial at the bottom)

Start by downloading a couple FREE textures from this site. (Bookmark this blog so you can find your way back there for the rest of the free textures.) I downloaded all the rocky, moon-like textures.

Next open a new blender file. Delete the default cube by selecting it and pressing 'X' then 'D'. Create an Ico Sphere by clicking "Add>Mesh>Ico Sphere" in the top left of your work space.

You should have a small drop down menu in the bottom left of your work space now. Open it and turn the subdivisions up to something like 5 or 6 depending on how beefy your computer is. Click out of that menu and then make sure your sphere is selected (it should be highlighted yellow) and right click and select "Shade Smooth".

Now we must tell Blender how we want it to map these textures onto our Ico Sphere by "UV Unwrapping" it. So, with the sphere still selected, hit "Tab" on your keyboard and you should enter "Edit Mode". Hit 'A' to make sure the entire shape is selected. Tap 'U' to open UV Unwrapping drop down menu, then click "Sphere Projection". Click "Tab" again to exit "Edit Mode".

Lastly, enter "Rendered" view by holding 'Z' and mousing over "Rendered" then releasing 'Z'.

Now drag your bottom workspace up by the line that separates it from the top workspace. By default it's a "Timeline Editor". Change it to a "Shader Editor" by opening the menu on the top left of the workspace and selecting "Shader Editor". Open a new texture by clicking "New" at the top of the shader editor workspace. By default you'll get a "Principled BSDF" and "Material Output". Deselect both by clicking in the grey grid area, then re-select the "Principled BSDF" and press 'X' to delete it. We don't need it.

Go to the folder where you saved the textures you downloaded, drag and drop three of them one by one into the "Shader Editor" workspace. Choose your favorites. I used the Ceres, Eris, and Haumea textures in this example, but you don't have to. After all three are in the work space, click the "Add" button at the top left of your "Shader Editor" work space, NOT the "3D Viewport" where we created the Ico Sphere.

Go "Add>Color>MixRGB". Place it between the textures we imported and the material output node. Now drag the yellow "Color" output dot at the right of the "MixRGB" node and drop it on the green "Surface" input dot on the "Material Output" node.

Now mix two of your moon textures by dragging their "Color" outputs into the "Color1" and "Color2" inputs of the "MixRGB"; one texture into "Color1" and the other into "Color2". These are the two textures that we will see. We will use the third texture to inform the blending of the first two. Click "Add>Converter>ColorRamp". This node will allow us to greater control the contrast of the "Factor" input. Speaking of, connect the "Color" output of our last moon texture to the "Factor" input on the "Color Ramp" node. Then connect the "Color" output of the "Color Ramp" to the "Factor" of the "MixRGB" node. In the "Color Ramp" node, pull the black and white closer together to create more contrast in the blending factor.

If you'd like to adjust the overall tone of the moon add a "RGB Curves" node between the "MixRGB" and "Material Output" nodes by going "Add>Color>RGB Curves" and the drop-down "Add" menu. Play with the different color channels until you get the look you like. I'm going to leave mine a dull grey because this particular moon looks very rocky.

Almost done! If you are rotating around your moon and you see a weird zig-zag line and the textures aren't lining up, that is because the "UV Texture" is shaped like a square, but if you remember, our textures are rectangles with a 1x2 aspect ratio. So Basically we are only seeing half the texture. There is an easy fix for this.

Change your "Shader Editor" work space into a "UV Editor" workspace by selecting the drop-down menu in the top left of the workspace and clicking "UV Editor". You should see a blank, grey, gridded square.

Click on your moon in the "3D Viewport" workspace, then hit "Tab" on your keyboard to enter "Edit Mode". Type 'A' so select the entire shape, then hover your mouse over the bottom "UV Editor" workspace and type 'S' then 'X' then '2' and 'Enter'. This will Scale the UV along the X axis by 2 times. Now hover your mouse back over the "3D Viewer" and hit "Tab" to exit "Edit Mode". BOOM! The zig-zag line is gone and your texture is correctly mapped to the UV.

Lastly, change your bottom work space back to the "Shader Editor" and with your moon selected, click "Add>Shader>Diffuse". Place it Between your "MixRGB" and "Material Output" nodes. This will allow the light to correctly interact with your moon. You might also want to change the default point light into a sun light and change the power to 10, like I did. Make sure the light is selected then click the "Object Data Properties" tab and hitting the "Sun" button.

That's it for texturing, but if you really want to sell the effect I suggest using the Planet Shader by ChrIstopher Fraser. It's an awesome tool that has become essential for me and my projects. Drop him a few bucks as a thank you. He has a video that explains exactly how to use it. Just replace our "Diffuse Shader" node with his planet shader and it should work perfectly.

That's it! I hope this was useful! Feel free to read the other blogs and tutorials to learn more! Also check out the video version of this tutorial on my YouTube!

© 2024 Richard Bourque