Monday, February 11, 2008

Blender Modeling: Colt 1911

I spent a great deal of time in Blender today. Usually when I try to model something the hardest part is figuring out precisely what to model. I tend to focus on inorganic things, objects with hard edges and straight lines.
Why a Colt 1911 you ask? It's inorganic and it's a gun.

I learned a while back from some obscure tutorial that background images in Blender are a huge help when getting started. If you have a digital camera you can get your background images just by taking pictures of the front, side, and top of the object you wish to model. Since I don't actually own one of these pistols, I just did an image search and found a nice side shot.

My first step was to make a shape outline. Blender starts up with a cube at origin (0,0,0), which you can either delete or manipulate to your liking. Unless there's a trick for just adding a bare vertex that I don't know about, which is entirely possible, it is necessary to manipulate that cube in some way in order to get started. If you want, you can just select 7 of the 8 vertexes and delete them, then move the one that's left to a desired starting position and use the Extrude command (usually E).
The outline is easy but then you have to add appropriate depth. Obviously this is going to be easier on some objects than others, but if I've learned anything form fooling around with Blender it is this: Modeling requires as much patience as it does skill, especially in my case, since I really have no skill. A professional modeler might disagree, but for someone with no artistic talent and a rudimentary understanding of Blender, it's true.
I'm compelled to remark on Blender as a modeling tool. If you've perused my list of Open Source Software links to the right, you've seen it listed. The more I use Blender the more impressed I am with it. It seems like every time I use it I learn something new about it that makes using it significantly easier. Today I learned a great deal about seams and UV mapping techniques.

Anyway, back to modeling. Based on many of the tutorials I've read, symmetrical objects are created one half at a time and then mirrored. You can actually enable a persistent x/y/z mirror which should mirror your actions along a specified axis. This is probably what I should have done, however, I wasn't thinking about it and since it's far from habit, I simply forgot. I determined an acceptable width for the slide and extruded down from that to build the frame. From there I tapered down into the trigger well and the bottom of the barrel. Lastly, I outlined the grip area and gave it a bevel. I work with it in slices. Once I've made one taper, every vertex in that progression should be at a consistent and recurring 'slice' level.

I should also mention that throughout this process, the object did not have any faces defined. If I accidentally made any, usually by extruding an edge, I removed it just so it wouldn't confuse me later. The act of cleaning up after myself in this manner served to educate me on intelligently removing items from a model in Blender. When you press the delete key to delete something, you get a context menu. For the most part it is self-explanatory but I discovered an important distinction today. If you have enough vertexes selected to define at least one face and you press the delete key, you have an option to delete 'Faces', and lower on the list 'Only Faces'. If you choose 'Faces', you'll also remove the vertexes associated with those faces, but if you choose 'Only Faces', it does what you'd expect the first option to do and just removes the face definitions without removing the vertexes involved.

Once I got all my faces assigned I selected the whole thing and duplicated and mirrored it. This part is where I got into some work that I probably could have avoided. I moved the mirrored half very close to the original, but snapping vertexes has to be done one by one.
Once this was done I removed any duplicate vertexes and fixed any broken faces. Lastly, it's important to make sure your normals are pointing in the correct direction.

After messing with smart unwraps and seamed unwraps in the UV editor, I finally started experimenting and found the option to get UV's from the current projection. Cycling through the different views and manually selecting faces for the UV map strikes me as the fastest way to get it done at this point. That may change as my experience increases.
It was at this time that I ran into my most significant hurdle. I can't draw, paint, or otherwise compose images that are pleasing to the eye.
I was in a hurry at this point so I used a real photo to build the texture beforehand and then manipulated my UV pattern to fit on top of it. This actually proved to be very effective, however, in the future I'll take reference photos as suggested above and recycle those as textures.
This is getting wordy so here's a shot of the finished product.

I'm pretty pleased with it overall, especially when I look at it textured like that. Unfortunately, the naked truth reveals that my geometry is ugly and far from optimized. Later I'll have to clean up redundant faces, but the good news is that this won't affect my UV's as a whole.