Outside the Box:
By Paul "Villam" Steed
Anything I say comes from me and represents my personal opinions, views and subtle plans for influencing society. Read, ruminate over and remember at your own risk. If I teach you something and it helps, teach someone else.
I wrote an article in Game Developer magazine awhile back devoted to the art of optimizing models. I basically pulled a bunch of terms out of my rear defining ways and techniques that allowed you to knock off those last 50 faces, thus meeting your pesky polygon-per-model limitation. One thing I didn't overly dwell on though, was why I felt that the model had to be neat and orderly (read: pretty). The reason for this at the time was because I couldn't think of a…uh, good reason.
The other day I was making a model and performed a boolean on it (boolean is a term describing the union, intersection or difference of two objects which occupy at least some of the same space). As in all boolean operations, it results in extraneous faces and rather sloppy extra vertices and weird face creation. While doing the cleanup on the object it finally dawned on me how to succinctly describe the reasoning behind prettying up a mesh: line length.
Yep, like I've always said, no matter what They say, size really does matter.
Okay, check this out (click for larger image).
This is the result of that bad boolean. The edges are technically correct in the upper right half of the tube but that is one ugly mesh.
Before we open up the patient and do some surgery, let's hide some faces to help facilitate gettin' busy.
Select and hide those red things (we can get them back later, don' worry mon).
After the faces are hidden examine the patient again. The edges at the bottom left are cool. Their nice and tidy and symmetrical. They're also short. As in those lines connecting the vertices travel the shortest possible distance from each point necessary to describe a face (triangle/polygon).
Now the upper right part of the mesh has some problems. Those lines are just too damn long. Sorry. Youze gotsta step off and shrink it up a bit. The way we accomplish this important task is through one third of the trinity of mesh optimization: edge turning (vertex merging, and edge dividing being the other two-thirds).
First, turn the easy ones over to the left.
Cool. Now those edges look like the ones at the bottom.
The longer ones to the right need to be turned twice, though, so let's turn 'em…
…and turn 'em again…
Thus the lesson for today should be as follows. While faces that look like this are technically legal…
They're not-so-technically plain old ugly.
This is what you want…
Guess we'll just call this the 'shite or right' rule when it comes to mesh prettiness.
Hence our now prettier looking mesh:
Again, if you want to grok the skinny on how I optimize models so they can be digested and regurgitated by the game engine scope the June '98 issue of Game Developer magazine.
This concludes our lesson for today. Next week I'll find something uselessly entertaining with a Steedism or two, lots of big words and plenty of semi-intellectual fodder for Them to justify their inane, myopic existence by having something else to bitch about. WOOHOO!
- Paul Steed is an incredibly opinionated 3D artist at id Software.
Credits: Thinking Outside the Box logo illustrated and is © 1998 Dan Zalkus. Thinking Outside the Box is © 1998 Paul Steed. All other content is © 1998 loonyboi productions. Unauthorized reproduction is strictly prohibited, so don't even try it. We've got really big guns, and we're ripped, baby.