[WML-Source: CurveSurface.wml][TOC][Part00]

[chapter]Curves and Surfaces



Bezier curves are the most commonly used type for designing letters or logos.

A curvepoint consists of three handles. The middle handle is used to move the entire vertex, selecting it will also select the other two handles, and allow you to move the complete vertex. Selecting one or two of the other handles will allow you to change the shape of the curve by dragging.

There are four types of handles:


Handles can be rotated by selecting the end of one of the vertices. Again, use the grabber with RMB -hold-move.

As soon as the handles are rotated, the type is modified automatically:

A separate resolution can be set for each Bezier curve (the number of points generated between two points in the curve).


Nurbs curves have a large set of variables, which allow you to create mathematically pure forms. However working with them requires a little more intuition: Just as with Beziers, the resolution can be set per curve.


If no interpolation is needed, you can use the "Poly" type. This has all the facilities, such as extrude and beveling.

[subsection]A Logo with Curves by Reevan McKay

Blender's curve tools provide a quick and easy way to build great looking extruded text and logos.  We will use these tools to turn a rough sketch of a logo into a finished 3D object.

Fig. 1 shows the design of the logo we will be building.

Figure 1: The sketched logo  [images/Curves/logo.jpg]

[point]Preparing the Template

First, we will import our original sketch so that we can use it as a template. Blender supports both TGA and JPG format images.  To load the image, move the cursor over a 3DWindow and press SHIFT+F7 to get to the view settings for that window.  Activate the BackGroundPic button and use the LOAD button to  locate the image you want to use as a template (Fig. 2).  If you do not have one, you can load the LOGO-SM.JPG image from the CD-ROM.

Figure 2  [images/Curves/notes1.tga]

Return to the 3dView by pressing SHIFT+F5 (Fig. 3).  You can hide the background image when you are finished using it by returning to the SHIFT+F7 window and deselecting the BackGroundPic button.

Figure 3  [images/Curves/notes2.tga]

[point]Trace the curves

Add a new curve by pressing SHIFT+A >>CURVE>>BEZIER CURVE.  A curved segment will appear and Blender will enter Editmode.  We will move and add points to make a closed shape that describes the logo you are trying to trace.

You can add points to the curve by selecting one of the two endpoints, then holding CONTROL and LMB .  Note that the new point will be connected to the previously selected point.  Once a point has been added, it can be moved by selecting the control vertex and pressing GKEY .  You can change the angle of the curve by grabbing and moving the handles associated with each vertex (Fig 4). 

Figure 4  [images/Curves/notes4.tga]

You can add a new point between two existing points by selecting the two points and pressing WKEY >>SUBDIVIDE (Fig. 5).

Figure 5  [images/Curves/notes5.tga]

Points can be removed by selecting them and pressing XKEY >>SELECTED.  You cut a curve into two curves by selecting two adjacent control vertices and pressing XKEY >>SEGMENT.

To make sharp corners, you can select a control vertex and press CTRL+V .  You will notice the colour of the handles change from purple to green (Fig. 6).  At this point, you can adjust the handles to adjust the way the curve enters and leaves the control vertex (Fig. 7).

Figure 6  [images/Curves/notes6.tga]

Figure 7  [images/Curves/notes7.tga]

To close the curve and make it into a single continuous loop, select at least one of the of the control vertices on the curve and press CKEY .  This will connect the last point in the curve with the first one (Fig. 8).  You may need to manipulate some more handles to get the shape you want.

Figure 8  [images/Curves/notes8a.tga]

[point]Cut Holes

Leaving editmode with TAB and entering shaded mode with ZKEY should reveal that the curve renders as a solid shape (Fig. 9).  We want to cut some holes into this shape to represent the eyes and wing details of the dragon.  When working with curves, Blender automatically detects holes in the surface and handles them accordingly.  Return to wireframe mode with ZKEY and enter editmode again with TAB .

Figure 9  [images/Curves/notes9.tga]

While still in editmode, add a circle curve with SHIFT+A >>CURVE>>BEZIER CIRCLE (Fig. 10).  Scale the circle down to an appropriate size with SKEY and move it with GKEY .

Figure 10  [images/Curves/notes10.tga]

Shape the circle using the techniques we have learned (Fig. 11).  Remember that you can add vertices to the circle with WKEY >>SUBDIVIDE.

Figure 11  [images/Curves/notes11.tga]

Create a wing cutout by adding a Bezier circle, converting all of the points to sharp corners, and then adjusting as necessary.  You can duplicate this outline to save time when creating the second wing cutout.  To do this, make sure no points are selected, then move the cursor over one of the vertices in the first wing cutout and select all linked points with LKEY (Fig. 12).  Duplicate the selection with SHIFT+D and move the new points into position.

Figure 12  [images/Curves/notes12.tga]

If you want to add more geometry that is not connected to the main body (placing an orb in the dragon's curved tail for example), you can do this by using the SHIFT+A menu to add more curves as shown in Fig. 13.

Figure 13  [images/Curves/notes13a.tga]

[point]Extruding the Curve

Now that we have the curve, we need to set its thickness and beveling options.  With the curve selected, go to the EditButtons (F9 ).  The Ext1 parameter sets the thickness of the extrusion while Ext2 sets the size of the bevel.  BevResol sets how sharp or curved the bevel will be.

Fig. 14 shows the settings used to extrude this curve.

Figure 14  [images/Curves/notes14.tga]

If want to perform more complex modeling operations, you can convert the curve to a mesh with ALT+C >>MESH.  Note that this is a one-way operation: you cannot convert a mesh back into a curve.

When your logo model is complete, you can add materials and lights and make a nice rendering (Fig. 15).

Figure 15  [images/Curves/final.tga]


Surfaces are actually an extension of Nurbs Curves. In Blender they are a separate ObData type. Whereas a curve only produces one-dimensional interpolation, Surfaces have a second extra dimension, called the U and V directions. These allow you to create curved surfaces; a two-dimensional network of vertices defines the form for this.

Use Surfaces to create and revise fluid curved surfaces. They can be cyclical in both directions, allowing you to easily create a 'donut' shape. Surfaces can also be drawn as 'solids' in EditMode (zbuffered, with OpenGL lighting). This makes working with surfaces quite easy.

Currently Blender has a basic toll set for Surfaces. It has limited functionality regarding the creation of holes and for melting surfaces. Future versions will contain increased functionality in these areas.

[subsection]Modeling with Surfaces

You can take a 'primitive' from the ADD menu as a starting point, or duplicate a single point from an existing surface with SHIFT+D . Nurbs curves are also a normal part of a Surface; they can be processed and drawn as described above.


Create a surface by extruding an entire curve (EKEY ). Each edge of a surface can then be extruded any way you wish to form the model. Use CKEY to make the U or V direction cyclic. It is important to set the 'knots' to "Uniform" or "Endpoint" with one of the pre-sets from the EditButtons

A surface becomes active if 1 of its vertices is selected with the RMB . This causes the EditButtons to be re-drawn.

When working with surfaces, it is handy to always work on a complete column or row of vertices. Blender provides a selection tool for this: SHIFT+R , "Select Row". Starting from the last selected vertex, a complete row of vertices is extend selected in the 'U' or 'V' direction. Choose Select Row again with the same vertex and you toggle between the 'U' of 'V' selection.

(DTP needs to add the weights, page 103 old manual-cw-)

To create pure circles, globes or cylinders, you must set the weights of the vertices. The example shows this for a globe. Three standard numbers are included as pre-sets in the EditButtons. Read the weight of a vertex with the NKEY .

A complete overview of all the tools and options is contained in the Reference material for "3DWindow" and "EditButtons".



Text is a special curve type for Blender. Only Postscript Type 1 fonts are supported by Blender.

Start with a fresh scene by pressing CTRL-X and add a TextObject with the Toolbox (ADD->Text). In EditMode you can edit the text with the keyboard, a text cursor shows your actual position in the text. When you leave the EditMode with TAB , Blender fills the text-curve, so that you have a flat filled object that is renderable at once.

Now go to the EditButtons F9 .


The buttons are described in detail in the reference section. As you can see in the MenuButton, Blender uses by default the ".Bfont" when creating a new textobject. Now click "Load Font" and, browsing what appears in the FileWindow, go to a directory containing Postscript Type 1 fonts and load a new font (there are several free Postscript fonts provided on the CD-ROM). Try out some other fonts. After loading a font, you can use the MenuButton to switch the font for a TextObject.

For now we have only a flat object. To add some depth, we can use the "Ext1:" and "Ext2:" buttons in just the same way as we have done with curves.

With the "TextOnCurve:" option you can make the text follow a 2D-curve. Use the alignment buttons above the "TextOnCurve:" textfield to align the text on the curve.

A powerful function is that a TextObject can be converted with ALT-C to a Curve, which allows you to edit the shape of every character. This is especially handy for creating logos or for custom lettering.

[subsection]Special Characters

Normally, a Font Object begins with the word "Text". This can be deleted simply with SHIFT+BACKSPACE . In EditMode, this Object only reacts to text input. Nearly all of the hotkeys are disabled. The cursor can be moved with the arrowkeys. Use SHIFT+ARROWLEFT and SHIFT+ARROWRIGHT to move the cursor to the end of the lines or to the beginning or end of the text. Nearly all 'special' characters are available. A summary of these characters follows: Many special characters are, in fact, a combination of two other characters, e.g. the letters with accents. First pressing ALT+BACKSPACE , and then pressing the desired combination can call these up. Some examples are given below. ( DTP: Insert the real characters here, old manual page 104-cw-)
Complete ASCII files can also be added to a Text Object. Save this file as "/tmp/.cutbuffer" and press ALT+V .
-cw- Last modified: Wed Nov 1 16:15:11 CET 2000