## The visibility principle

There's a very simple concept to keep in mind when modeling an object.

A lot of students will presume that if a character is wearing both a shirt, and a vest, and they can see the shirt, then the shirt must continue under the vest. This is not the case. You wouldn't take the time to model the bones and muscle under the skin, so don't even both with the skin of a character wearing clothes, or individual layers of those clothes.

The only exception to this rule would be in cases such as when you don't see the geometry, but might see a reflection or shadow of it, such as in a rendered cityscape. There might also be times when you need geometry for physics calculations which may be kept invisible on purpose.

In either of these cases tough, this kind of geometry will typically not be anywhere near as detailed as visible geometry, and may not even be fully textured.

## Wasted polygons

If the polygons of a model don't define a change in direction on a surface or a change in the silhouette of the model then they shouldn't exist. What exactly do I mean by that?

### Needless cuts, loops, or divisions

Sometimes a modeler might make multiple cuts too fast on their primitive shape before they actually start forming those new cuts into the desired shape. This of course would result in more cuts than are needed to define a shape.

I've also seen students try to add curved edges to a model by just adding a surface subdivision (NURBS) of some kind. This can be a dangerous shortcut which you can see the effects of in the shape below.

Here we have a model of a plastic cooler. It is essentially a cuboid with flat surfaces but we want the corners to be rounded and smooth.

The first version was made by using a simple base model with sharp corners and applying a subdivision operation. This has had the effect of also subdividing the polygons in the flat areas, creating polygons that do nothing to define actual shape, and creating waste.

The second image is of a properly made object, where the corners have been rounded by hand, creating no extra polygons within the flat areas. This is achieved by selecting the appropraite edges and applying the proper beveling tools available in all programs.

To be specific, the cooler model on the top comprises 8278 polygons, while the model on the bottom has only 980.

Sometiems it may not seem like a few extra poly loops in a model are adding that much, but remember that a final scene might have many, many models within it. Leaving extra polygons in every model of a complex scene will quickly multiply the amount of waste and decrease both the overall interface and render speed.

It isn't as critical a concern in pre-rendered footage but is always an important consideration in real-time rendering.

### Considering the viewer distance.

Something every 3D artist should do when creating an object, especially when targeting real-time rendering, is to ask themselves "how far away will this be from the camera?"

If an object will never be seen from a close distance then is there a point to adding great detail? Probably not.

It's also not uncommon, especially in video games, to make several different versions of an object that are meant to be seen from different distances. These are often referred to as LOD models.

Here we have two models of the same object. The left model is over 300 polygons while the right is a little over 100. Up close the left model has a suitable number of polys while the right has very obvious poly corners and is not suitable for close viewing. But then notice how the farthest models, which are the same high and low poly versions of the object, don't appear to be all that different. If there's a chance we'll never see the object as close as the nearest pair here then why spend part of our polygon and texture budget on the left version when the right will do?

If you've ever played a game where objects off in the distance didn't seem to be the same quality as those you are near then this is an example of the developers taking various level of details into account.

"LOD" stands for Level of Detail and describes a chosen point between the lowest and highest possible detail levels. This detail often describes meshes but can describe rendering properties like lighting quality as well.

Most professional real time game engines will actually create these models automatically, some will not, and neither will most professional 3d packages (at least not automatically). For full control of to what degree this is done you may need to create the various versions yourself.

This will obviously have more of an impact on duplicated or instanced objects. Popular examples of objects you should consider making lower detailed versions of trees for a forrest scene in the background (where entire branches might just be images on flat quads) and also city buildings (which can be simple textured cuboids at a long enough distance).

## Breaking surfaces

Another way of preventing a model from having needless polygons is to consider whether or not some polygons in a model even need to be connected. Even if an object is a solid substance in real life that doesn't mean all polygons in a mesh need to be connected to each other. Let's look at two examples where they don't.

### Tapering objects

Consider objects that taper from wide to thin shapes (either gradually or suddenly). Below we have three models of a screwdriver. Each model has the right amount of polygons to define the shape of the object, but only one has an effecient polygon density, while the other two have either too little or too much in some areas.

So for every mesh you make ask yourself if there are changes in the surface such as different textures or sudden angles that allow you to save polygons by simply placing two meshes against each othe instead of having one large mesh.

### Surfaces on the same plane

Flat surfaces that lay on the same plane are also good candidates for this. The the below model of a simple wall with a door and two windows.

So not all objects have to be continuous surfaces. It's not always about keeping poly counts low either. The fewer points a mesh has the easier it is to edit by hand, and it can also help when creating the texture map for the model since some pieces will already be seperated.

### Intersecting polygons

In the screwdriver example above the main reason that I made sure the two pieces were touching but not intersecting was simply to minimize the amount of surface hidden. This doesn't mean that hidden surfaces or intersection should be completely forbidden.

The screwdriver didn't need intersecting polygons because the end of the head shaft and the handle surface were both flat; they could sit next to each other perfectly. But what about a more organic model?

Here we see a model of a top hat. Hats are good examples of tapering causing polygon waste since the brims are often wider than the crown. In this model the crown and band (the vertical parts) are not connected to the brim. Unlike the screwdriver however, the place where they meet is not flat, but curved.

Note how the radial segments of the brim (there are 48) don't match up with the radial segments of the band and crown (32). All it took to intersect them fully was to move the edge loop of the brim under the band up a single unit (the entire hat is 200 units high).

As stated you still want to keep the edges you intersect as close to each other as can be. Often times the best way to decide how much is enough is to just force the camera inside the object and as close to the pertinent area as possible.

The image above is the close up veiw of the meeting place from inside the hat before the edges are intersected (This was the result of using a lathed spline for the top and bottom pieces). The green slivers are where we can see through the hat.

Here the top edge is pulled down past the bottom to ensure that at no time can you see *through* the hat and into the head of the model of the character who might be wearing it. Because, of course, you probably didnt' model the top of their head either!

Other places you might see modellers choose to intersect polygons would be where an arm goes into a shirt sleeve, where planes for tree leaves cross, or where the sewn cushions of a couch meet one another.

## Rounded / Beveled edges

As you saw in the previous examples, simply adding a subdivision modifier of some kind to a model can cause wasted polygons, both increasing interface lag and render time.

That doesn't mean suvdivision surfaces should never be used. They are especially good for organic models that are animated. Animals, monsters, or plants that might sway in the wind are all objects which need those extra divisions to animated smoothly.

The thing to remember is that most subdivision algorithms work by averaging the angle between to edges but still do their best to pass through those edges. This means that the closer two edges are, the less curvature will be added to the result. We can use this to our advantage.

## Moving the axis

This is not really a modeling tool so much as a temporary change of state in how a model is moved, rotated, and scaled. Every major 3D program will allow you to toggle on and off a mode that allows you to edit only the axis of an object. This means that if you were to use a "move" tool while an object is selected the axis position and rotation can be moved without moving the actual points, edges, and polygons of mesh of the object.

This is useful if, for various reasons, your model axis is not aligned to the actual center of the object, or if you want too move the axis to a particular point or face of the mesh, or if you want to move the axis outside the mesh entirely.

For instance lets say you want to animate fan blades rotating around within a ceiling fan. There's no pooint in modeling the inside of the fan since you can't see it, but at the same time you need to be able to rotate the blades around the exact center within the fan body. In this case each blade can have the axis moved to the center of the fan body so that you can simply rotate the blades to move them instead of trying to translate an object in a circular motion.

• In 3DS Max you can either go to the heirarchy tab and click on "Affect Pivot Only" (the object gizmo visual will change to indicate it is active) or you can press the "Insert" key.
• In Maya the keyboard shortcut is also the "Insert" key.
• In Cinema 4D look for the "Enable Axis" icon to toggle or use the keyboard shortcut "L".

As stated this mode is usually toggled. That means you will need to de-activate the axis moving option to revert to normal object moving behavior.