November 2, 2019

436 words 3 mins read



code that makes videos for this:

repo name Helpsypoo/primer
repo link
language Python
size (curr.) 594 kB
stars (curr.) 1044
created 2018-05-27


Code that makes videos for this:

This is going to be a pretty minimal readme for now, and the code itself is likely very confusing. I intend to clean things up and improve documentation, though I don’t know when that will be. If you’d like to receive an email when that update happens, you can submit your email here:


This is a library of tools that lets you write high-level functions to build and animate objects in Blender. It’s not set up to run from the command line. Instead, it uses the Script Runner addon for Blender, which lets you run scripts by pushing buttons within Blender. This makes it easy to see the results of your scripts and use the Blender interface to experiment with parameters before iterating on your script.

The primary script run by Script Runner in my workflow is, whose main() function can be used to call test scripts or run a script from another file.

Much of the structure comes from manim, 3blue1brown’s animation engine.

Using primer

The root object class used for defining and manipulating objects in Blender is called Bobject (blender object). It initializes an object in Blender and defines simple functions for changing the parameters and adding keyframes.

The best scene to try when getting started is probably tex_test(), defined in It creates a TexBobject and morphs through a few strings.

There isn’t a best practice for creating a series of scenes in a new file. As you’ll see, the files from past primer videos are all structured fairly differently. I haven’t landed on a steady-state workflow here. So if you’re confused, that might be why.


Blender 2.79 (Not 2.8+, the api has changed)

Script Runner addon for Blender



OpenBabel if you want to do the molecule stuff


Blender comes packaged with its own version of python, so your local python installation and your favorite packages won’t be there unless you install them to Blender’s version.

Many of the scenes from my videos depend on specific blend files that are imported for use as common objects or components of them. For example, the blob creatures and components of the graphs. If at some point I try to turn this into a more broadly accessible tool, I’ll have to include those files in the repo or procedurally generate them.

comments powered by Disqus