Some background: I'm recreating the Solar System in Blender. Up till this point, I've been using real maps of the planets to create them. The problem I'm running into is that the farther out we go in the Solar System, the less consistent the maps are. For example, if you look up any texture map of Pluto, you'll see that half of it is crisp and clear, and the other half is incredibly blurry. For other places, their maps were stitched together from multiple pictures, making it look like a Frankenstein planet. And for most dwarf planets, we have no info on their surfaces at all. So I want to create setups to procedurally generate detailed, realistic texture maps for planets.

The biggest problem I'm having right off the bat is with craters. They're really hard to randomly create in a realistic way. There are some really good textures for craters though, so I need to find a way to incorporate them. I need to be able to take a crater texture, tile it onto the planet, and then randomize each one's position, rotation, and scale automatically. But I don't have any idea on how to do this using a node setup.

The only other way I can think of is to make the texture map by hand by stamping the craters onto the planet in texture paint mode. But I'd really rather do it using nodes, so I could use that setup to procedurally make multiple different planets. Any ideas?


1 Answer 1


This is a basic node setup that can let you randomise some parameters like scale, rotation, location, and presence. You can change the map range values for different results.

enter image description here

With the result: enter image description here

Note that it applies only for square textures. For different shapes you'd have to change the fraction node to a modulo and there would be some distortion. Let me know if you'd like an elaborate answer for this.

If you'd rather not bother with the nodes, Simon Thommes' Scattr is extremely useful and has different complexity levels to choose from.

To learn the tiling process in greater detail, this tutorial by Erindale is fantastic and is essentially what I have used in the screenshot.

  • $\begingroup$ Thank you so much! This is awesome. It does have one problem though. It uses the UV map for its texture coordinates. When I tried to apply it to a sphere I got a lot of distortion on the equator and on the poles. I've tried workarounds for it, but I haven't found a way that works well yet. $\endgroup$ Mar 25, 2023 at 3:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .