So what, exactly, are triangle meshes? The most obvious answer is, "a surface composed of triangular facets." In most 3D programs, that would also be the complete answer. In Art of Illusion, it is only the beginning.
A more accurate answer is, "a surface defined by a mesh of triangular facets." Note the difference: "defined by" rather than "composed of". The triangular facets act as a control mesh by which you can define the surface. The surface itself, however, may be either faceted or smoothly rounded. Or half one and half the other. Or mostly smooth, but with a few sharp points and creases. Or anything in between.
This tutorial will introduce you to triangle meshes: what they are, how to create them, and some of the tools available for editing them. It is not intended to be comprehensive: I will not be covering every last feature of the mesh editor. I will, however, try to get most of them, and the remaining ones should be easy enough to figure out.
Before going on to the tutorial itself, I should mention two other types of objects that can also be used for creating free-form surfaces: spline meshes and polymeshes. Spline meshes lend themselves more naturally to creating certain types of shapes than do triangle meshes, but they are much less powerful overall. For this reason, you will sometimes want to use spline meshes for creating certain types of fairly simple objects, but not for anything which is very complex. Polymeshes, on the other hand, are in some ways more powerful than triangle meshes, in that they allow faces to have more than three sides. This makes them very useful for many types of objects, although they are less efficient to render and in some cases produce a less smooth surface.
Spline meshes and polymeshes will not be discussed further in this tutorial.
The tools for editing them are quite similar to those for triangle meshes,
however, so much of what you learn in this tutorial can be directly applied to
them. Note that if you want to use polymeshes, you must first install the
PolyMesh plugin using the Scripts and Plugins Manager.
First, every triangle mesh has a smoothing method, which determines
how the actual surface is calculated from the control mesh. There are four
different methods to choose from, which are illustrated in the following
figure.
2. Smoothing Meshes
What is it about triangle meshes that allows them to be more than just a mesh
of triangular facets? There are two things.
A.![]() | B.![]() |
C.![]() | D.![]() |
Triangle meshes also offer a second tool which you can use to control the shape of the surface: every vertex and every edge has a smoothness value associated with it. A value of 0 produces a sharp point or crease. A value of 1 gives a smooth surface. Values between these extremes give intermediate results: rounded points, beveled edges, etc.
The following figure gives you an idea of what can be done just by changing the smoothness values of a mesh. All of the images show the same object: a cube which was converted to a triangle mesh, and whose smoothing method was set to "approximating". The only difference between the images is the smoothness values for vertices and edges.
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
This cylinder was then converted to a triangle mesh with a large tolerance. This is shown in the center, with the smoothing method set to "none". It is clear from the image that the mesh is only a very rough approximation to the original cylinder.
On the right is this same mesh, with the smoothing method now set to
"approximating". The sides have become smooth again, and the object is
almost indistinguishable from the original cylinder.
The triangle mesh editor window is quite similar to the main scene editor
window. The four viewports in the center show the object that is being edited
(both the control mesh, in black, and the actual surface, in blue). The tool
palette along the left edge provides various tools for editing the mesh, and
the line of text at the bottom describes how to use the current tool.
Two of the tools should already be familar to you from the scene editor: Move
View and Rotate View. These tools merely change the direction from which you
are looking at the object, and do not affect the object itself in any way.
The most important tool is the Select and Move tool. As the name suggests,
this tool is used for two purposes: selecting portions of the mesh to edit,
and moving around selected vertices. You can select vertices by clicking on
them, select several vertices by shift-clicking, or drag a box to select
everything inside it. Clicking on a vertex and then dragging will move all
the selected vertices.
The next five tools (Scale, Rotate, Skew, Taper, and Outset) are all used to
deform pieces of the mesh in specific ways. To use any of these tools, you
must first select a portion of the mesh to deform. It will then display a set
of handles around the selection, which you can drag to deform the selected
region. If you experiment with the various
tools, you will quickly get a feel for what each one does. Be sure to read the
text at the bottom of the screen, since it will tell you about various keys you
can hold down that affect the behavior of the tool.
The multicolored sphere icon represents the compound Move/Scale/Rotate tool.
As the name suggests, it combines most of the functions of the Move, Scale, and
Rotate tools into a single tool. Its user interface is a little more
complicated than the others, but once you get comfortable with it, it can be
very convenient to use, since it lets you do many operations without having to
change tools.
The two light blue icons are the Bevel/Extrude and Create Point tools. They
are discussed in sections 6 and 7 below.
The green stick figure icon represents the Skeleton tool. It is used for
creating and editing the mesh's skeleton, and will be discussed in detail in
section 9.
In the previous paragraphs, I referred to selecting and moving vertices.
Actually, the editing tools are a little more general than that. In the lower
left corner of the window, you will notice three buttons labeled "Point",
"Edge", and "Face". These are the three selection modes supported by the
mesh editor. In "Edge" mode, the basic objects which you can select and
manipulate are the edges of the mesh (the lines connecting vertices). In
"Face" mode, the basic objects are faces. Try experimenting with all three
modes. Also notice what happens to your current selection when you switch
modes.
Now go to the Edit menu and select "Tolerant Selection Mode". This option
changes what happens when you drag a box to select multiple edges or faces.
In normal selection mode, an edge or face must be completely inside the box
for it to be selected. In tolerant selection mode, an edge or face will be
selected if any part of it
is inside the box. This mode also makes a similar change to how your
selection is converted when you switch from "Point" mode to "Edge" or "Face"
mode. Experiment with it to see how it works.
This can be a very difficult thing to do. Trying to reshape the surface by moving
just one vertex at a time is both difficult and tedious. You can select a
group of vertices to move all at once, but this tends to create a sharp ridge
at the edge of the selected region.
The "Mesh Tension" command can be a huge help at these times. It causes the
mesh to behave as if it were elastic: as you drag one vertex, nearby vertices
will be pulled after it so that the surface remains smooth.
To use this feature, select "Mesh Tension" from the Edit menu. A window will
appear with two options: Maximum Distance and Tension.
Maximum Distance sets the radius of effect of the tension. It is measured
in edges. If you set it to 0 (the default), only selected vertices will move
as you drag them. If you set it to 1, unselected vertices which share an
edge with a selected vertex will also move (though not as much as the selected
ones). If you set it to 2, vertices which are two edges distant from the
selection will move, and so on. In all cases, the further a vertex is removed
from the selection, the less it will move.
How much less? That is determined by the Tension option. Low tension causes
them to move less, while high tension causes them to move more. Experiment
with the different settings, and you will quickly get a feel for how they
work.
Suppose you are trying to create a head for a character. You might start with a
sphere (a reasonable first approximation to the shape of a head), then convert
it to a triangle mesh to refine the shape: square the forehead, pull out the jaw,
etc. Suppose that when you come to do the face, however, you find that your
mesh is too low resolution. There simply are not enough vertices in it to let
you sculpt a realistic nose, mouth, eyes, and so on. What can you do?
The answer is to use the "Subdivide" command. This command adds detail to your
mesh by subdividing the selected region to increase the number of vertices,
faces, and edges. The precise way in which it does this depends on your current
selection mode:
If this sounds very confusing, simply remember this rule: if you are in Edge mode
and you repeatedly use the Subdivide command, the control mesh will quickly
converge toward the actual smoothed surface of the object. Try it a few times and
you will see what I mean.
In addition to the "Subdivide" menu item, there is also the Create Point tool
which does the same thing in a more interactive way. With this tool selected, you
can click on an edge or face (depending on which selection mode you are in),
and it will be split at exactly the point where you clicked.
By using the Subdivide command, you can create large numbers of new vertices and
edges very quickly. This itself can be a problem. Remember what I said before
about simple meshes being easier to work with. Once you have finished subdividing
and editing a part of the mesh to create the shape you want, you often will find
that it has more vertices than are actually required. After a few cycles of
editing, this can become a serious problem.
The solution is to use the "Simplify" command. This does the opposite of the
Subdivide command: it merges adjacent vertices together to reduce the total
number of vertices, edges, and faces in the mesh. To use it, select the portion
of the mesh you wish to simplify and select "Simplify Selection" from the Mesh
menu. Alternatively, if nothing is selected, the command changes to "Simplify
Mesh", which simplifies the entire mesh.
The simplification is done based on a local error metric. This means that you are
prompted to enter a maximum allowed error, and the control mesh is then
simplified as far as possible while ensuring that no point on the new, simplified
mesh is further than that distance from the original, unsimplified mesh. Small
values ensure that the simplified mesh remains very close in shape to the original
mesh, but also limit how much it can be simplified. Larger values result in a
simpler final mesh, but may cause noticeable changes to the shape of the surface.
Be aware that the error metric is calculated with respect to the control mesh,
not to the smoothed surface. Thus, although no point on the control
mesh will deviate by more than the specified tolerance from the original control
mesh, it is possible that points on the smoothed surface will deviate by more
than this from the original surface.
A window will appear in which you can specify details of how the operation should be
performed. You can set the following options:
4. The Triangle Mesh Editor
Once you have created a triangle mesh, select it and choose "Edit Object" from
the Object Menu. A new window will appear which looks something like this.
5. Mesh Tension
As I mentioned before, low resolution meshes are much easier to edit than
high resolution ones. Furthermore, the automatic smoothing features of
triangle meshes make it possible to represent very complex objects with
relatively simple, low resolution meshes. The time will come, however, when
in spite of your best efforts you find it necessary to edit a very high
resolution mesh composed of very small triangles.
6. Subdividing and Simplifying
The commands discussed so far have allowed you to move existing vertices, but did
not change the number of vertices in the mesh. This section discusses two commands
that do change the number of vertices: one for adding detail, and another for
removing it.
Here is a subtle but very important point: when using the Subdivide command in Edge
mode, the subdivision is done based on your selected smoothing method. If the
smoothing method is "None" or "Shading", the new vertex will be placed exactly in
the center of the selected edge, midway between the two endpoints. If it is set
to "Interpolating", the new vertex may be slightly off of the original edge so as
to maintain the smoothness of the mesh. If it is set to "Approximating", then not
only will a new vertex be added to each edge, but the old vertices themselves may
move slightly.
7. Beveling and Extruding
The Bevel/Extrude command is a remarkably useful tool for adding features
to mesh objects. It creates extrusions (pillars extending outward from the surface)
from the selected points, edges, or faces. To use it, select part of the mesh and then
choose "Bevel/Extrude Selection" from the Mesh menu.
![]() | ![]() |
There also is a Bevel/Extrude tool which provides a more interactive (though less precise) interface for doing the same thing. To use it, select a portion of the mesh and then drag the handle shown in the center of the selected region. You can move the mouse up and down to change the extrude height, and left and right to change the bevel width.
The first such command is the "Clear" command in the Edit menu. This deletes the selected
vertices, edges, or faces from the mesh, leaving a hole where they were. You can also
do this by pressing the Delete key on your keyboard.
The "Close Selected Boundary" command does the exact opposite: it creates a new set of
faces to close off a hole in the mesh. To use it, make sure you are in Edge selection
mode, then select the edges which surround the hole you want to close off. (You must
select all edges surrounding the hole; if there is a break anywhere in the
selection, the menu item will be disabled.)
The "Join Selected Boundaries" command works in a similar way, but instead of closing
off a single hole, it creates faces that connect two holes in different parts of the
mesh. To use it, select the boundary curves of both holes that you want to connect
and select the command from the Mesh menu.
To connect the two holes, an edge must be added linking each vertex of one boundary
to a vertex of the other boundary. There are, of course, many ways to do that. The
editor tries to make a good guess about how best to connect the holes, but it will not
always do it exactly the way you want. It therefore displays a dialog with a preview
of how the object will look after joining the boundaries. You can use the controls in
this dialog to edit how the two boundaries should be connected together. When you are
satisfied with the way it looks, click OK to complete the operation.
8. Changing Topology
All of the commands discussed so far have an important feature in common: they preserve
the topology of the mesh. None of them can be used to create a hole in a mesh, or to
create a new connection between distant parts of the mesh. In this chapter, we look at
several commands that do change topology.