Tools of the Trade

August 17th, 2009 No Comments
Hero Character in Blender

Hero Character in Blender

Once we’d figured out our implementation details, we needed to pick the tools to get us there. We quickly determined that Blender was well suited to our needs.  Blender is an open source modeling program, whose abilities span modeling to video editing to being an entire game engine.  It has most of the features of 3dsmax or Maya, all of the useful ones, and many more to boot.  Of course, the fact that it’s free helps a great deal.  But honestly, out of all of the open source alternatives I’ve tried over the years (Gimp, Open-office, Thunderbird) Blender is the model of “getting it right” (Alongside, perhaps, Firefox).

Particle Effect in Blender

Particle Effect in Blender

Our modeling and rigging is done in Blender, and textures are created in Photoshop.  From there, we render out a series of individual frames in the standard 8 directions to a PNG format.  We then use ImageMagick, a command-line tool that comprises a lot of the functionality of Gimp or Photoshop.  ImageMagick gives us the ability to run batch manipulations on the images, and compose them together in interesting ways.

From the resulting PNG format, we compress to PVR, using apple’s texturetool program.  PVR is an interesting format; in a nutshell, it’s a highly regular compressed image format that can use either 4 bits or 2 bits to represent pixels.  The huge advantage to this format is that the iPhone supports it natively, and can render directly from the compressed format.  We found that PNGs didn’t work because a) decompressing the PNG format takes up a ton of CPU time and b) when uncompressed, a 1024×1024 image will be stored at its native size of 4MB.  When you only have 20MB or so to work with, that’s pretty limiting.  For comparison, a 4bpp PVR of the same image is only 512kb – yes, that’s 1/8th the size.  However, for small images the compression artifacts become very noticeable, so for those we actually double the resolution of the initial images.  For those keeping track, the compressed double-resolution image is still only ½ the size of the original resolution uncompressed image.

BlenderNation also has a quick writeup on us.

Leave a Reply