A Blender script to procedurally generate 3D spaceships from a random seed.
Go to file
Michael Davies dd7d40267c Added step-by-step animation 2016-06-15 19:15:47 +10:00
screenshots Added step-by-step animation 2016-06-15 19:15:47 +10:00
textures Added source code and textures 2016-06-15 13:48:04 +10:00
LICENSE Initial commit 2016-06-14 13:16:08 +10:00
README.md Update README.md 2016-06-15 14:59:37 +10:00
spaceship_generator.py Fixed some formatting 2016-06-15 13:53:14 +10:00

README.md

Spaceship Generator

A Blender script to procedurally generate 3D spaceships from a random seed.

alt tag

Usage

  • Install Blender: http://blender.org/download/
  • Open a Text Editor view
  • Press Alt + O, or go to Text > Open Text Block and open spaceship_generator.py
  • Press Alt + P or click Run script

How it works

  • Start with a box.
  • Build the hull: Extrude the front/rear faces several times, adding random translation/scaling/rotation along the way.
  • Add asymmetry to the hull: Pick random faces and extrude them out in a similar manner, reducing in scale each time.
  • Add detail to the hull: Categorize each face by its orientation and generate details on it such as engines, antenna, weapon turrets, lights etc.
  • Sometimes apply horizontal symmetry.
  • Add a Bevel modifier to angularize the shape a bit.
  • Apply materials to the final result.
  • Take over the universe with your new infinite fleet of spaceships.

Extreme examples

The following screenshots were created using extreme values for the number of hull segments and asymmetry segments to show how the algorithm works.

alt tag

Credits

Written for fun as part of the /r/proceduralgeneration June 2016 monthly challenge.

Released under the MIT License.

Authored and maintained by Michael Davies.

GitHub @a1studmuffin Twitter @butterparty