Wednesday, March 11, 2009

Normal Mapping and 3D Modeling Programs

[This post was written by Mike Nielsen. He is one of our designers and an avid art-class attendee (not to mention a fantastic writer). Check out his write up on the 3D Studio Max Class here]

Jeff Wiggins (one of our artists) gave an art class a few weeks ago primarily about different types of 3D modeling programs and the advantages and disadvantages of each, specifically when it comes to normal mapping. For anyone who doesn’t know, normal mapping is when you create a CRAZY detailed 3D model (with, say, 2,000,000 polygons), then apply the lighting information for said model to a low poly model (of, say, 2,000 polygons). What this does is create a model that looks remarkably like it has 2,000,000 polygons, but actually only uses 2,000 polygons worth of memory. AWESOME!

Anyway – I’m not an artist, so I may not have picked up as much as some of the other attendees did, but I CAN explain what the different programs were.

1. Mudbox. This is a program that allows the artist to create 3D models in a manner similar to how a sculptor might work with clay (or mud I guess…). It has a series of useful tools that allow the artist to push, pull, carve, texture, and otherwise shape the surface of basic geometry to create detailed and intricate models. It should be noted that Mudbox is meant to handle extremely high numbers of polygons. The mutated devil lizard that Jeff made as an example ended up having about 2,000,000 polygons when we were done with it and it was really fast to make. Jeff then showed us how to export the normal map for the lizard and import it into a different program, like 3D Studio Max.

2. Crazybump. This program is used exclusively for creating bump maps – which are similar to normal maps, but less complicated and detailed. I must say, this program was my favorite part of the class. Basically, it allows you to import a 2D image and then convert it to a bump map almost instantaneously. The example he used was with a photograph of a brick wall. He imported the photograph into the program, adjusted some settings that I can’t remember and don’t care to explain, then – ta da! Bump Map! He then applied the bump map to a cylinder (which was provided by the program) and wow – it was amazing how awesome it looked. The coolest thing was that this was all done in 5 minutes or less (excluding explanation time and questions).

3. 3D Studio Max. Jeff also busted out the good old classic 3DS Max to show us some of its normal mapping functionality. It had some really interesting features as well but it was a little more on the complicated side (in other words, I didn’t follow it nearly as well. Plus it was at the end of the class and my ADD attention span started seriously waning). He showed off “smoothing groups” functionality, which is a cool way to eliminate seams in geometry. He also walked through the process of creating a normal map using a high-poly model, then applying it to a low-poly model. It was cool to see the two models side-by-side when he was done. They were virtually identical, but one had thousands less polygons involved.

4. Photoshop. Although Photoshop wasn’t a huge part of the class, he showed us how to export grayscale images as normal maps using the Nvidia plug-in, which can then be imported into Max and applied to a 3D model. Pretty cool stuff.

Overall – I give Jeff an A+… except that he was the one teaching the class, so… whatever. Anyway, the class was awesome and I speak for all when I say that our eyes were opened to a new level of the infinite vistas of 3D asset creation.

No comments: