Sunday, July 1st 2018
This week I decided to create a set of procedurally generated spaceships inspired by No Man's Sky. My goals were ambitious:
I found myself caught looping through steps 1 and 2 of the above for most of the week. I'm an inexperienced modeler, and adding the complexity of accomodating future parametric tweaks to a model while in the process of building it, turned out to be unexpectedly difficult.
In order to continue to make some progress, I kept the base mesh fairly simple with limited details, and only about a dozen parameters. Keeping those parameters in sane ranges across a huge range of different ship body sizes turned out to be difficult, leading to a dense web of expression references on top of the visible lines in the below network diagram:
As a result, I ended up with manual parameters like "z-scale offset" and "x-balance" that weren't really randomizable. The ship images below were created parametrically, rather than procedurally.
If I continue with this project, my goals will be to reverse-engineer these parameters into a framework that generates ships with "one button" as well as making sense of dynamic UV map calculation and properly texturing some ships. As a stretch goal I would love to also add more detail to these meshes, more inset pieces and external equipment to add detail and ambient occlusion.