Modeling Many Magnificent Asteroids


I found a great non-Blender tutorial for crafting asteroids.

Anyone know how to do something similar in Blender? I’ve tried displacement mapping and hand sculpting. But displacement mapping (via a texture) looks terrible, and sculpting each rock would take forever.

I’m looking to create 50 - 100 asteroids and it’d be wonderful if there was a fast way to do it.

Any ideas?

Seems I only saw the first page of the tutorial before posting my first suggestion…
Well, here’s a technique to get you some more detail; I hope this brief explanation is not too cryptic. I have also zipped up a .blend for you to play with.
If anyone is interested I could try and make a real tutorial for this.

This is what you get with this method:


  • get the “Vertex Noise” script from, copy it to your scripts folder and restart blender.Create template mesh with modifiers:
  • add an icosphere (I call it „mod-template“ from now on; 2 subdivisions)
  • set smoothDisplacement-Materials
  • add a new material to „mod-template“
  • add two textures: „bump“ and „craters“. They will go into displacement modifiers later on, but we need a way to edit them for now.
  • disable everything on the „map to“ tab for both textures (or activate „F“ for them and delete them from the material after editing the settings)
  • bump: clounds texture, size 0.1, contrast 2

  • craters: voronoi, size 0.35, contrast + brightness max, colorband black-white-gray

    Add the following modifiers in this order to „mod-template“:

  • subsurf, 4-5 levels
  • displace, texture „bump“, size 0.03
  • displace, texture „craters“, size 0.09
  • smooth, 3 iterations (increase this and/or subsurf levels if you get artifacts)Create template mesh for asteroids (to speed things up in mass-production; I call it „form-template“ from now on)
  • add Icosphere, 2 subdivisions
  • set smooth
  • leave edit modeGet Vertex Noise script ready
  • Mesh>>Scripts>>Vertex Noise. Tick “normal” and enter min and max values (0.1 and 0.6 worked fine for me) Do nothing else with it right now, this is just to open the script in a window for faster access later on.You are now ready to produce asteroids! To do so, repeat the following steps:
  • [shift-d] duplicate „form-template“; enter edit mode
  • Vertex Noise Script: Change “seed” randomly, klick „ok“ 3-5 times
  • [alt-s] shrink/fatten as you like to fine-tune the form
  • leave edit mode
  • [shift-d] duplicate „mod-template“
  • with copy of „mod-template“ still selected, shift-select copy of „form-template“
  • [strg-l] link „mesh data“
  • delete copy of „form-template“
  • the copy of „mod-template“ is your new asteroid!Notes:
  • Scaling your asteroids UP in edit mode and then DOWN in object mode makes detail smaller and vice versa.
  • For sharper edges you can add a simple-subdiv modifier (level 1) before the catmull-clark modifier.
  • Using additional displacement modifiers/textures you can add as many layers of detail/bump/craters as you like
  • due to the excessive subsurf’ing 100 of these might become a problem…

Today, please feel free to revel in your amazingness.

Thank you!


I took the liberty of creating an expanded version of your steps in a tutorial.

Let me know what you think.

great tut! i might try that

If you stumble upon anything that isn’t clear (or you think should be clarified), let me know so that I can improve it, eh?


Hi Thangalin,

I’m glad you could make sense of my explanations and turn it into a proper tutorial! Maybe I can finally stop calling myself a total noob now (after 7 years of using blender) :wink:

Your tutorial is fine, I’d just add two little things:

  • After using the vertex noise script, shrink/fatten is really helpful to make the shape even more interesting (instead of just scaling size). A few iterations of careful shrinking and fattening really gives interesting results (don’t overdo it or your faces start to intersect).
  • To get a very different shape for every fasteroid (love the name!), you should use a different seed value in the vertex noise script for every fasteroid (change it randomly, then tab ok a few times; no need to change inbetween).

Looking forward to seeing what people use this for :slight_smile:
Happy blending!

You don’t even need the script. Space>select>random 50% ok. Scale or rotate a bit, repeat.

Thangalin, I found the part that dealt with material settings to be confusing. (Enabled, disabled, Value, Yellow?) Please clear that up or just provide screenshots of the material settings.

Hi, LOTR Junkie.

I updated the material settings section. I don’t have time at the moment to capture the settings.

I tried doing the Space >> Select >> Random (50%) to the mesh while in Edit mode. Nothing happened?

Hi everybody,

the select>>random methods works fine, thanks LOTR Junkie! It’s even better than my approach because you don’t need two different template meshes, just the one with the material/modifiers (don’t know why I didn’t think of this… my slightly complicated method is due to the fact that the vertex noise script acts strangely on meshes with these modifiers).
Note: You have to unselect all vertices before the selection step to make anything happen.
@Thangalin: Maybe you should include this in the tutorial, it avoids the whole linking stuff.

Happy blending!