Sunday, August 22, 2010

How to Create a Lightsaber in Blender - Part 1 (Modeling)

Hello, everyone!  This tutorial is going to show you how to model a lightsaber; I will follow this part up with a second part covering the materials and rendering within the next few days.  This is the final result of this tutorial:

So let's get started!  Open up blender, and delete the default cube (X).  Next, add a circle (Shift A - Mesh - Circle).

Press '1' on your numpad to go into front view, 5 to change to orthographic view, then hit 'Tab' to enter edit mode.  Extrude the circle 13 blender units (E - Z - 13), then hold down Ctrl and hit the '8' key on your numpad to scroll the view up so you can see the whole extruded circle.

This is the start of our lightsaber handle.  Press the 'A' key to deselect everything, then press 'B' and drag a box around the vertices on the bottom of the tube.  Press 'E' to extrude, right click to lock it into position, then scale it up by 1.5 blender units (S - 1.5).  Next, extrude the selection again (E - Z - -4), then scale it down (S - 0.5).

Extrude the selection and scale it down again (E - S - 0.9), then extrude that selection (E - Z - 0.1).  Finally, extrude it one more time, then merge the vertices (E - Enter - W - Merge - At Center).  If you go back into object mode (Tab), and rotate around your viewport (Drag Middle Mouse Button), you should see something like this:

Go back into front view and enter edit mode again (Numpad 1 - Tab).  Press 'A' to deselect the selected vertex.  Pan your view to the bottom of the handle (Ctrl - Numpad 2), and zoom in (Mouse wheel or +).  Add a loop (Ctrl - R), and position it as shown below:

Add another loop, and position that one as shown below:

Deselect the vertices (A), and enter face select mode (Ctrl - Tab - 3).  Also, deselect this button (when selected, this button limits the selection to the current view):

Now select two faces at a time, every other two faces (select two faces, skip two, select the next two, skip the next two, and so on) by holding down Shift and Right Clicking the faces.

Next, delete these faces (X - Faces).

Next, go into Edge Select Mode (Ctrl - Tab - 2), and select each edge loop around every hole (Alt - Shift - Right Click).

Extrude them in (E - S - Shift Z - 0.95).  Tab back into Object Mode to take a quick look at your work so far.  The model looks a bit blocky, so lets set the Shading to Smooth.

Tab into Edit Mode, and press 'Ctrl N' to recalculate the normals on the outside.  Now let's readjust our focus to the top of the handle.  Pan your view up to the upper portion of the handle, switch to Vertex Select Mode (Ctrl - Tab - Numpad 1) and select the top loop of vertices (B - Drag a box around the loop).  Make sure before you select those vertices, that you don't have anything else selected (A to deselect everything).  Extrude this, and scale it up (E - S - 1.25).

Next, extrude it up 3 units (E - Z - 3).

Extrude it again, and scale it in (E - S - 0.9), and again (E - Z - -2.75).

Deselect everything (A), pan your view down a little bit, and add four loops as shown below (Ctrl - R) :

Then add four more loops around those as shown here:

Next select these sections by pressing 'B' and dragging a box around them:

Then, scale them up (S - Shift Z - 1.1).

Press 'A' to deselect the loops, and add a Circle (Shift A - Circle).  You may have to zoom out a bit to see the circle.  Rotate the circle along the X axis 90 degrees (R - X - 90).  Move it up along the Z axis (G - Z - 5).

Scale it down (S - 0.35) and go into side view (Numpad 3).  Move the circle along the Y axis (G - Y - -0.8), and extrude it (E - Y - -0.5).  Extrude it again, and merge the vertices (E - Enter - W - Merge - At Center).  Set the mesh to Smooth Shading again (so the circle is included).  Select the circle (which is now the button), and press 'Ctrl N' to recalculate the normals again.

Recalculating the normals removes the nasty black lines on the mesh.  Deselect the button (A) and go back to the front view (1).  Now we're going to give it a Subdivision Surface Modifier to smooth it out more.  On the left, click on the button that looks like a wrench.

Click on the menu that says 'Modifiers' and select the modifier highlighted in blue below:

Now the mesh looks a bit too smooth, but we can sharpen the edges by adding more loops.

I'll demonstrate now; tab into Edit Mode, and pan your view down to where the bottom of the handle meets the main shaft.  Add an edge loop (Ctrl R) and slide it down so that it almost touches the bottom, but not quite.

Notice how it made the connection a bit sharper; you may be wondering why I added a subsurf modifier if we wanted sharp edges.  This is because even though it's a somewhat subtle effect, it still makes the edges smoother.  Nothing in the real world has a perfectly sharp edge; there's always some level of thickness to it, and that's what we're adding here.  I'll demonstrate again on a more noticeable edge.  Now pan your view to where the rings on the handle are.

Add two edge loops on the inside of one of the rings:

This change isn't very noticeable in Edit Mode, but if we tab into Object Mode, it's a lot more obvious:

Unfortunately, I can't demonstrate with every edge loop necessary on the model for time's sake (and this tutorial is already long enough as it is), so just keep adding edge loops next to the edges that need sharpening (don't forget the button!).

You should have something like this when you're finished:

And that's all for this part of the tutorial!  You may be wondering why we haven't done the blade yet; that's because I'm saving it since it's mostly material work (including working with halo materials).  I hope you've enjoyed this tutorial and that you learned something from it!  If you have any questions, comments, or problems, post them in the comments below.  If you were having problems with switching to the different views, make sure you have num lock enabled.  Thanks for reading!


  1. Sorry; the version of Blender I'm using is 2.53 beta. I forgot to mention that, and putting it here is faster than editing the post :P