Want more like this?

Blender for Hackers - 3D modeling is just like using VIM

A very brief introduction to Blender

Modeling 3D objects is pretty neat. Whether it is for animating a video or making an interactive program, having some understanding the basics of a 3D program makes it easy to create impressive looking things.

Enter Blender - an amazing, FLOSS software package. To me Blender is like VIM, a modal, keyboard driven editor, only 3D. It is so intuitive for developers!

Adding your first object

Open up blender, and you get the splash screen, which showcases a lovely artwork for each release. Click anywhere outside the splash box to dismiss it.

Blender splash screen

This is going to be fun!

First select the cube in the middle of the default scene. You can do that by right clicking. It might be already selected; the orange outline symbolises the current selection.

Now we need to delete the cube. Press x (like in vim), and a menu will popup. Press enter to activate the (blue) selected item, which is delete.

Now open the add menu to add a new object. Press Shift-a (a is already used for select all), choose mesh, then an object of your choice. I'm going to use a plane.

Looking around

Now for an important prerequisite: a mouse with an easy to use middle button.

USB Mouse that I use for Blender

"Gaming" mice have very good middle buttons, unfortunately they are unprofessional uncool

Once you have that, the controls are very simple:

  • Mouse wheel to zoom
  • Hold the MMB (MiddleMouseButton) and move the mouse to change the angle
  • Hold Shift, the MMB and move the mouse to pan

You can then view your amazing mesh model from different angles. (My model looked very plain plane though!)

If you didn't heed my advice to use a mouse, you are probably struggling to do some 2 handed gesture on your trackpad. There is another and less flexible way: Fly Mode. Press Shift-f to enter fly mode. Then you can use WASD to move like in a video game. Press enter to exit fly mode and keep your the position, or esc to exit and revert to your position before flying.

Transforming the objects

Transforming objects is very keyboard driven, and a multi-step process.

  1. Select the object you wish to transform (right click to select, orange outline indicator)
  2. Press the appropriate key to start the transformation:
  3. g for transform (think grab) OR
  4. r for rotate OR
  5. s for scale
  6. Optionally press x, y or z to lock the transform to that axis
  7. Use the mouse or type a number to input the transformation factor
  8. Press enter to save, or esc to cancel

That may have made it sound so complex. It is more simple with an example! To make the selected plane 2x longer (y-axis), you would type sy2 and then press enter. (Doesn't that look like a VIM command?)


Less plain now!

By adding multiple objects and transforming them, you can even make something that approximates a model:

A smurf house?

Pitfall - the 3D cursor

If you played around and accidentally left clicked, you might notice that things started getting strange. The left mouse button moves the "3D Cursor" - Blender's biggest WTF:

3d cursor

The 3D cursor sets the position that newly added objects will get when they enter the world. Most of the time, you want to keep the 3D cursor at the origin. Use Shift-c to reset the 3D cursor to the origin and the viewport to the default position.

Making special objects - mesh mode

You know how I said that blender was like a modal editor? Well let's look at the "Edit Mode" for meshes.

I'm going to start with a clean slate (Ctrl-n), and keep the default cube. Select the cube and press Tab:

Edit mode

Welcome to edit mode. You can now select individual vertices. By default they are all selected (hence the orange). Press a to deselect all (it toggles selecting all), then use right click to select 4 vertices (that make up a face):

Edit mode selection

Then we are going to extrude the face - one of the main tools when modeling. Press e to extrude the face, and you should see the face come flying out of the cube. Click or press enter to give it a location:

Extended cube

Notice that now our mesh looks like 2 cubes joined together. This means that we can scale the top face without interfering with the rest of the cube. Transformation keys work the same here as they did in before (in "object mode"). I scaled the top face to 0% size by typing s0 then pressing enter:


This is looking like a better house this time

To leave edit mode (where you select individual vertices) press Tab. You will then be back in the default mode, object mode, where you select whole objects.

Going forward

That was a very simple overview of how to do some modeling in Blender - only touching the surface. Even in Blender, you can do much more than modeling - you can render, sculpt, animate, material and light objects to create amazing 3D scenes. Blender also features a motion tracker, compositor, video editor and game engine - so there is a whole lot more to explore!


Not the impressive results that I mentioned at the start of the article

Get More Great Content

The intersection of marketing, design and machine learning, delivered straight to your inbox:
Awesome! Please check your inbox and confirm your email.
We'll email you our latest posts plus special past content. Change your settings any time.

Magic Name

Find the name of every subscriber -- without asking

Begin Favicon Project

Taking the Sunday hack too seriously

Exposing properties with Graphene Django

The other missing guide

Arithmetic with JavaScript Arrays

A Astonishing Adventure

Freeing Disk Space with the PackageKit cache

Automatic updates gone wrong

Keeping Python projects secure on GitLab

Pinning projects to the very latest

Testing GraphQL with Graphene Django

The missing guide

Local Politicians Meet InfoSec - a Wordpress Disaster

The article that I didn't want to have to write

PGP for Every Email

Join us in our PGP journey

SELinux Concepts - but for humans

This is your SELinux dictionary!

A new way of writing Gtk+ applications

Introducing Pyract - my weekend hack

Stop Disabling SELinux: A Real-World guide

Be safe from software vulnerabilities AND run your webserver

Plotinus and the quest for searchable menus

The underdog challenges a 30 year old UI convention

DMARC Secured Your Email Identity, But See How it Ruined Mailing Lists

Why people aren't posting on your mailing list

How they track you: Email Service Provider Edition

A summary of how major email marketers track their emails

Edge of the World - What Open-World Games Can Teach Us About Design

Spoiler: It's all about the illusions

When fictional worlds are an accurate representations of IoT security

Ok, a little dramatized. But still truthful.

How I Destroyed my Blog's Performance with CSS Background-Blend-Modes

Just because a browser has a feature doesn't mean you should use it

Help Us Answer: The Email Signup Popup - where is it from?

Who is behind the latest wave of popups?

My WATCH runs GNU/Linux And It Is Amazing

Lennart Poettering would love it!

6 Stunning Email SignUp Form Designs with Free HTML

I've spent way to much time on dribbble researching these!
G'day Mate, join us on IRC for good banter:
#Learnt on Freenode
See you there!