ModelGen
Procedural 3D model generators built on Blender's Python API, growing toward an agent that models inside Blender the way an artist would — box modelling, rigging, and hand-keyed animation clips, all from code.
Screenshots
About
ModelGen is a toolkit for generating 3D models with Blender’s Python API — with a deliberate constraint that shapes everything: prefer bpy.ops over raw mesh data. Instead of computing vertex arrays, the code works the way an artist works — select the faces pointing forward, extrude them, scale the selection, bevel the edges, add a Mirror modifier. A stick figure isn’t assembled from primitives; it’s box-modelled from a single cube.
The same philosophy extends to animation. Clips are built with an animator’s toolkit — scrub to a frame, pose bones, key the whole character, make it cyclic — and depend only on bone names, so a breathing idle, a flying hover, or an FK walk cycle composes with any humanoid rig. Every tool saves a .blend and exports glTF for use in engines, feeding characters into Flint.
Features
- Edit-mode vocabulary —
select_faces_by_normal,extrude_faces,bevel_edges,add_modifier: reusable artist-verbs over Blender operators - Optional rigging step — humanoid armature construction and automatic attachment
- Animation clips as code — breathing idle, flying loop, walk cycle (in place or with root motion), keyed with Bezier interpolation and Cycles modifiers
- The artist’s F12 — studio lighting, named camera framings (
front,three_quarter,portrait…), and turnaround sheet rendering that composites multi-view, multi-pose model sheets into a single PNG - Tests run inside Blender — a unittest suite executed through Blender’s own Python
Technical Details
- Language: Python (
bpy), Blender 4.5+ (tested on 5.2 LTS) - Output:
.blend+ glTF/GLB per model - Compositing: numpy +
bpy.data.imagesfor model sheets