Tuesday, November 20, 2007

Blender


No, that's not a self-portrait! It's been quite a while since I last played around with Blender. Last weekend I decided to take a break from Flash/Flex/ActionScript and Painter activities and give Blender another try. Blender is a very powerful, stable, fast, open source 3d program. I'd found an excellent tutorial model on character animation and couldn't resist. I didn't get through the entire tutorial yet (I got through modeling and rigging), I hope to get through the rest of the tutorial soon. It's very exciting to start with just a plane (four vertices!) and build a model that you can then move around and render. It's like making your own toys :)

One of the problems with only occasionally working with a tool as complicated as Blender is that I end up having to re-learn a bunch of the basics. Blender's got a great user interface, it is very flexible and does a great job of allowing you to maximize your workspace. It's just that it is not similar to any other software I've ever used. Ironically, after using Blender a bit, I found myself wanting to use the "G" key to move stuff in Illustrator (which I've used since 1987). That says something about Blender's design.

I first got into 3d with Swivel 3d in 1989 (I think), it was the same year the IIci came out. Once I'd got all that 68K power I thought I'd try 3d. I didn't care much for Swivel because I was doing stuff for print. I did end up using it once to set up a scene in perspective which I then drew over it in Illustrator. I probably could have drawn the image quicker from scratch but it was a good experience. In 1992 I jumped into Strata 3d. After attending a 5-day training course put on by the Strata folks in beautiful St. George, Utah, I got hooked on Strata's outstanding rendering quality. The modeler wasn't great, so I dabbled in some other 3d programs as well at the time (like Infini-D), but I always came back to Strata for rendering. Strata in those days was as stable and dependable as Photoshop.

One of the other 3d packages I tried was Playmation. It had a very nice spline-based 3d, modeler. In fact the whole program, which was geared towards character animation, seemed revolutionary. Unfortunately, it was the most unstable program I ever owned. Over the years, I continued to upgrade it as it became Animation:Master. Never having much luck with the stability. When I crossed from the Mac world to the Windows world, I tried it a couple more times, hoping that it would be more stable on the platform it was developed on.

(And I'll just avoid mentioning Raydream's addDepth and Adobe Dimensions. While they're 3d and I enjoyed them both, they're not really in the same vein as they were vector tools and far simpler than your standard 3d program)

At work I got the opportunity to try Cinema 4d. It has a very approachable interface, is pretty stable, but a little on the slow side. The friendliness of its UI was reminiscent of Strata.

Eventually, I came across Blender. I downloaded it, installed it, opened it, then closed it and uninstalled. The user interface was just too strange! Some time later, I gave it another shot. This time going through a tutorial. I was hooked. The strange interface worked amazingly well. Blender was also very stable (like Strata), had a great modeler (different than A:M but just as powerful) and it was fast even on older machines. I worked with it in my spare time for a while but with mergers, job changes, etc. I'd let it fall lower in the priority cue until it fell right off.

I'm really glad to be back working with it (and 3d) again. I can't figure out what the appeal of 3d is for me, why it keeps pulling me back. Part of it is what I mentioned earlier, being able to create something from scratch and move it around (or move around it). Strata's animation ability is one of the things that led me to interactive multimedia... I didn't want to just animate, I wanted to interact with the animations, which in turn led me further down the programming path. Now I think I'm coming full circle. One of the cool things modern 3d tools have is scripting languages. Blender has Python (which I've never tried), so that might be on the agenda down the line.