Tuesday, July 07, 2009

3D Models

Last semester, I took an introductory course in 3D modeling for video game engines. All the students in the class made assets to help senior game design students with their final game projects. I had a blast working with Maya and made some pretty sweet objects.

After running through a couple weeks of tutorials, our professor let the class loose to create 3D model from scratch. He sent us to a website full of blueprints from World War 1 vehicles and told us to build anything that was not already in USC's Online Asset Database. I picked the Sopwith Triplane and got to work.

Modeling the object was pretty straight-forward. Since this 3D model is meant to be run by a videogame rendering engine, I needed to keep the shape geometry as simple a possible so that the engine could render it quickly.

Texturing the model was a completely different process from building it. The procedure for texturing a 3D object involves mapping its surface in 2D space on a square image. The process, called UV mapping, is much like peeling an orange, ripping the peel into cleverly shaped chunks, and then pounding all the peel chunks together to form a perfect square. Oh, and the computer usually treats automatic UV mapping with the same finesse as a paper shredder, so I needed to do this process manually.

Cool! So where's the texture? Well, I had to make that from scratch too. Making good textures required a comprehensive search of images on Google and liberal use of Photoshop's clone stamp tool.

Eventually everything fits together like a tight game of Tetris and you've got yourself a complete 3D model. I think this plane took around 16 hours to build from start to finish.

My second model was a grocery store for a Dubai-style strategy game. It's meant to be seen from a Gods-eye view, so again I kept the geometry agonizingly simple (perhaps too simple). The class learned a lot about the particulars of Arabic architecture, particularly the flat roofs and bleached building colors.

I loved working on this one. The building is a simplified version of the US Bank Tower, the tallest building in downtown Los Angeles. I managed to work a massive amount of texture detail into the model by patterning the window texture vertically along all sides of the building.

I wasn't even required to make this airport tower. I happened to need one for a Java 3D project and figured it would be good exercise. There are control panels inside the top part of the building, but you can't see them from here.

Score one for effective asset reuse!

Our final project was a bit more involved than the previous models. We were expected to make our model twice as complicated and our textures four times as detailed. Our source material were some science-fiction robot figurines that are popular among hobbyists. Many of the models are carved with insane detail, including realistic rust marks, oil stains, and warped metal all where one would expect. I found some fantastic photos of my model, the SAFS Raptor, for my texture work.

My resource luck aside, the Raptor was extremely difficult to model. The main body was a complex collection of bulging, rounded plates of metal that did not lend itself easily to a mashing of cubes and spheres. I needed three days to get the modeling done properly, and another two to apply the textures. It was incredible that I survived all my finals that week.

Building 3D models was a blast. Next semester, I will be animating them.