Shape Generator

by Mark Kingsnorth in Models

Now ready for Blender 2.8 beta!

Quickly create and configure countless random shapes for a wide variety of purposes:

  • Generate ideas and abstract concepts for inspiration.
  • Create base meshes for further editing such as spaceships, game assets, and objects I haven't even thought of.
  • Create shapes for background assets or to add peripheral details.

The shapes are created by specifying a random number and then changing a range of length, scale and rotation parameters of the resulting extrusions.

By default, the add-on will work to ensure that the faces of the shape won't overlap.

You can choose whether the shape is mirrored in the X, Y and Z axis by a mirror modifier (or not at all).

The add-on provides the option to add a subdivision surface modifier to the shape, and/or a bevel modifier to produce different effects.

You can specify whether the algorithm favours in the X, Y, or Z direction to produce flatter shapes if desired:

Scaling and rotation options allow you to change the overall profile of the shapes:

Once ready, the modifiers will be left intact if you want to do further editing to the shape. Compatible with my other addons such as the Plating Generator, Bevelled Extrude and Window Generator, as well as other add-ons such as DECALMachine.

If you have a new feature request or any questions, either contact me via the Blender Market website or you can reach me on Twitter.


Version 1.0.4: Blender 2.8 Beta

I have now upgraded the add-on for 2.8 beta and put it ready for download alongside the 2.7 version. You will be able to tell the 2.8 zip file version because it ends in 2.8!  I'll be updating the documentation once 2.8 becomes the main Blender release.

Blender 2.8 is still in beta, so if you have any problems with the add-on let me know.

Version 1.0.3


You can now add, edit and save lots of preset configurations for different shapes.  I have included a small set of example configurations in a separate zip file - see the documentation on how to install them.


(Blender 2.8 users: use the file for the instructions below)


  1. Go to File -> User Preferences.
  2. Select the Add-ons tab at the top.
  3. Select the Install Add-on from File... button along the bottom.
  4. A file dialogue will pop up. Navigate to the file location where you downloaded the .zip file and double click it.
  5. Search for the add-on by typing "Shape Generator" in the search box if it does not already appear. Make sure the checkbox next to the Add-on (Add Mesh: Random 3D Shape Generator) is ticked.
  6. Click the Save User Settings button to make sure the add-on is installed next time you open Blender.
  7. Close the User Preferences dialog box and enjoy!


This is an optional step if you wish to load some pre-configured presets.

Depending on your operating system, navigate to one of the following directories.

  • If you are on Linux, navigate to ~/.config/blender
  • On a Mac: /Users/<username>/Library/Application Support/Blender/
  • If you are on Windows, navigate to: %APPDATA%\Roaming\Blender Foundation\Blender

Once there you should see folder(s) corresponding to the version(s) you currently have, for instance the 2.79 folder.  Within that folder, go to scripts/presets/operator/ and create the folder mesh.shape_generator. Unzip the contents of the .zip file to that location.

You should then be able to access a set of pre-configured presets when using the operator.  

IMPORTANT: When moving Blender versions, make sure you have backed up this directory as it contains any presets you have saved.

How it works

The add-on first creates a box, and then starts randomly extruding the faces.  Each face that is extruded and tapered randomly between a specified minimum and maximum value set by you.  The process is repeated by a specified amount.  By default, before completing the operation the add-on will check for overlapping faces.  If there are, it will attempt to extrude in a different way:

You can also set a minimum and maximum rotation when a face is extruded:

By varying these minimum and maximum values for Extrude, Taper, and Rotation different effects can be created:

Note that the faces do not overlap and organically grow out.

When you select the mirror options, you can start to get interesting base meshes:


You can access the Shape Generator through the Add menu in Blender.  This menu is either accessible through the bottom of the 3D view or by pressing Shift+A:

This then creates a Generated Shape object.  You can then create different shapes using the controls in the toolbar.  If the tool bar does not appear, try pressing the t key whilst in the viewport:

The options in the toolbar are described in the next section.


You can control the following options to get different effects in the toolbar that appears when you add a new Generated Shape object. They are described below:

  • Operator Presets: You can load, edit or save a selection of pre-prepared configurations.  Press the '+' and '-' keys to add or delete entries.
  • Random Seed: Different random shapes will be created by changing this value to another number.
  • Amount: This controls the number of extrusions that are performed to to create the shape.  This higher the number, the more extrusions occur. The user interface will stop the mouse dragging beyond 100, however you can enter higher numbers by clicking on the control and entering it via the keyboard.
  • Extrude: This provides the minimum and maximum values that the random extrusions in the shape will be restricted by.
  • Taper: This provides the minimum and maximum values that each new extruded edge is shrunk or grown by.  A value of 1.0 will keep the  face the same as it was before it was extruded; smaller values will shrink the face and higher values will make the face bigger than it was before.
  • Rotation: Control how much a face is bent when it is extruded.  This can create more varied shapes.

When choosing a face, favour...

The X, Y, and Z options here put some control over which faces are chosen as the add-on extrudes the shape.  By default, all faces in any direction have an equal chance of being selected (1.0, 1.0, 1.0).  If you decrease the Z value to zero, the faces that will be extruded are a lot less likely to be in the Z direction.

This sort of control can create, for example, flatter shapes:

Note that changing these settings does not guarantee that, for example, a face pointing in the Z axis will never be selected; it just reduces the chances significantly.

Bevel Edges

This option adds a Bevel modifier to the shape so that you can create more chamfered shapes. Check the checkbox if you wish to use the effect:

  • Bevel Width: the width of the overall bevel on the edges.  Note that if the shape is complex ith many concave edges, the width will be limited.
  • Bevel Segments: the number of segments in a bevelled edge.  The more segments, the smoother the bevel effect.
  • Bevel Profile: The shape of the bevel, from concave to convex. It has no effect if Segments is less than 2.
  • Width Method: Declares how Width will be interpreted to determine the amount of bevel. See the documentation for this under Bevel Modifier.

Subdivision Surface

This will add a Subdivision Surface modifier on top of the base mesh, for creating a much smoother shape. Check the checkbox to activate it:

  • SubSurf Segments: the number of intermediary segments the mesh will divide the surface into.

Subdivide Edges

Separately, there is also the option to subdivide the edges of the base mesh.  This will not smooth the mesh, it will just add more faces to the sections:

Mirror X, Y and/or Z

You can choose to add a mirror mirror modifier to the shape in the X, Y or Z axes.  This will also bisect the shape along the selected axis.

By default, the shape is mirrored in the X axis.  This is good for creating uniform shapes like vehicles or spaceships.

A good tip if the mirror modifier mirrors the side you don't want: in the scale settings, described next, set the appropriate axis to -1.0.  Then select Flip Normals, also described later.

Prevent Face Overlaps

By default, the add-on will attempt to prevent face overlaps when extruding out a shape.  At higher amounts of extrusions, this operation can be slow even though it is effective in creating meshes that are tidier.  If you don't want this option and don't mind overlapping faces, you can uncheck it:

  • Face Check Limit: For performance purposes, you can limit the number of checks the tool will do on other faces every time it does an extrude.  Low numbers may still create good meshes without the thorough checks. Zero will mean the check will check the whole mesh (this is the default).

Other options

  • Shade Smooth: mark the faces to smooth shading when they are created.
  • Flip Normals: The normals on the faces of the mesh will be flipped.
  • Align to view: Align the mesh to the viewport.
  • Location: The location of the mesh.
  • Rotation: Rotate the mesh.
  • Scale: Scale the resulting mesh.  Good for producing longer or higher meshes during the creation process:


Blocky Cubes

  • Set Extrude Min and Max settings both to 1.0.
  • Set Taper Min and Max settings both to 1.0.
  • Uncheck Mirror X.


  • Check Subdivision Surface.


(...or weapon/vehicles!)

  • Increase Amount to approximately 20.
  • Set Rotation Min/Max both to 0.
  • Set When choosing a face, favour: to X: 0.10, Y: 1.0, Z: 0.20
  • Ensure Mirror X is selected.
  • Set Scale to X: 1.0, Y: 2.0, Z: 1.0 to stretch the shape out.
  • Also set Subdivide Edges to 2 so that uou automatically have extra faces to add details to when you go into Edit Mode.
  • Check the Bevel Edges option.



When you are Mirroring the shape in the X, Y, or Z axes, seperate shapes may appear.  This is because the missing part that connects the shape is hidden in the Mirror effect:

If this occurs and you don't want that island, simply delete it in edit mode once you are happy with the rest of the shape.

Any Questions?

Do not hesitate to get in touch with me if you have a question, a new feature suggestion, or an image you'd like to share.  You can contact me through this website, my blog, or by my Twitter page.

When I increase the amount, I cannot drag the number beyond 100. Can I increase that number?

Yes - Even though the user interface will stop the mouse dragging beyond 100 to prevent accidentally creating too many extrusions which may slow down Blender too much, you can enter higher numbers by clicking on the control and entering it via the keyboard.  Beware though - the add-on will begin to slow down.

If you are finding the add-on too slow at high extrusions, try disabling Prevent face overlaps.  This will create shapes with overlapping faces, but they will be quicker to create.

Is this add-on compatible with others?

The add-on creates a standard Blender object and so can be used with other mesh add-ons like DECALMachine or my own Plating Generator, Bevelled Extrude and Window Generator.

When I generate a shape, there are sometimes orphaned shapes that appear on their own.

This happens when one of the mirror options is selected, because the object is mirrored after it is generated which can cause the mirror line to create 'Islands'.  I have added a note in the documentation which gives further explanation.

What was your motivation for the Add-On?

I wanted something where I could quickly create sci-fi models which are abstract in nature.  I was inspired by the excellent Spaceship Generator Python script which is freely available on GitHub.  I wanted something that was not only an add-on that I could configure but also something that was flexible and generic, so that I could create a variety of shapes.

Item Rating

This item has an average rating of 5 from 3 ratings by the community.

  • Mike Z 3 months ago

    Just what I was looking for.

  • Daniel A. Perez 4 months ago

    Nice tool! I'm making a full game based on it.

  • ishox about 1 year ago

    Another great tool made by you :) really easy to get some nice objects. Keep up the good work! ;)
    Got a little question, maybe im just stupid but I want to ask.. When I want to create Color ID Maps to work with Substance Painter, I select faces I want to paint on and when I try to give these faces the same ID the whole mesh is turning into that ID Color. Any idea how to fix this or how to get it to work? Would be really nice.

    Again. Nice tool. Thanks for making the work so much easier and faster :)

    Best wishes


    • Mark Kingsnorth about 1 year ago

      Thanks for the praise Jan! I just tried to make a Color ID map in Blender and it seemed ok - send me a message via the "Contact the Creator" section describing the problem with some screenshots if you can, and I'll either update the FAQ or add a bug fix.

Purchase this item to leave a review!