One of the special problems with managing a multimedia project (versus a text-based software project), is that there are often links to external data files which can get broken when you try to move the files around -- such as you might do when re-factoring the source code to make it more navigable. Three programs that we use extensively in the Lunatics project present this problem, and each requires slightly different handling. These are Inkscape, Blender, and Audacity. I have never found a compact guide to keeping the links straight in these programs, so I'm going to write one here.
If you've been following my column for the last year or two, you already know that "Lunatics" is the free-culture animated science-fiction series that we are creating with free-software applications like Blender, Synfig, Audacity, Inkscape, Gimp, and Krita. We are finally crowd-funding for our pilot episode "No Children in Space" on Kickstarter. If we get funded, this will be a major step forward for free-culture and free-software in the media industry. Come check it out, tell everybody you know, and/or get a copy on DVD or other cool stuff from the project!
This is the Blender 2.5 update to Mullen's very successful book on character animation. Since Blender 2.5 introduced a fairly dramatic change in interface design, this is a very useful update. This is a thick and extremely dense book that covers character animation from start to finish.
Since script extensions are going to be a part of our toolchain on creating Lunatics, I thought it would be a good idea to familiarize myself with how scripts are created and run in Blender. As a learning project, I decided to create a script for creating 3D pie charts from CSV data files. My first task is to write this for Blender 2.49 using the API for Python 2.6. This is the version documented in the Python Scripting book from Packt that I recently reviewed, so it's a good place for me to start.
Jonathan Williamson is established in the Blender community as an instructor for the Blender Cookie tutorial website. So it probably comes as no surprise that he should write an instructional book on using Blender. This one is an impressive work, and despite a relatively high price, may be worth your time if you want a thorough introduction to designing and modeling characters in Blender.
Among the books I've read to get my head around the process of creating an animated film with Blender, this one is definitely the best. Nowadays you'll probably want to use Blender 2.5 or later, and this book is based on 2.49, but even with this problem, I'd still recommend it. The real win of this book is the way it deals with the synoptic view of the project: how to organize your project, how to break it down into manageable chunks, and even how to store it on disk. It's an excellent resource.
Modeling every single aspect of a scene in a 3D application like Blender is hard when details are very fine (as with hair, bubbles, smoke, or a field of grass), and so there are a variety of automated techniques for pseudo-random modeling. It's also hard to animate every behavior accurately and realistically, especially of complex deforming surfaces. Fortunately, Blender can work out the physics -- applying gravity, collisions, and flexible movement for you. This book is a guide to this difficult subject.
This week I discovered some new resources for texture graphics to use in 3D modeling. Textures are essential for most 3D modeling projects of any complexity, and good textures can sometimes make very simple "low-poly" models look much better.
After looking at several recommendations on the best sources for a good book on rigging and animation characters' faces (which will obviously be very important for our Lunatics project), I came across this one, "Stop Staring: Facial Modeling and Animation Done Right". The book lives up to the expectations of careful analysis of facial expression and movement; provides guidance applicable to a wide range of character designs; and is largely neutral as to the 3d application used.
Blender has a useful set of constraint-based animation tools which make it fairly simple to animate motion of objects or of the camera along controlled paths. I expect to use this a lot, so I want to make sure I understand how it works. Here I'm going to work out a simple example using the "Suzanne" monkey meshes in Blender 2.49 to demonstrate simple path and tracking constraints with a mesh and with the camera. Because everything is better with monkeys.
Coming from Kino, Blender's "Video Sequence Editor" is a huge step up. Most people don't think of Blender when considering video editing tools, but in fact, Blender contains a very good one. This is not a separate application but an editing mode within the Blender application. It can work directly with animated scenes created within Blender or with video footage from other sources. Evaluating it is a little tricky because of this unique niche.
Python scripting in Blender seems like a natural interest for me, as I'm interested in both Blender and Python. I really enjoyed reading this book on the subject, and the examples were certainly interesting. However, there is one small problem that I didn't realize until after I had read it: Blender's Python API changed a lot in the major re-write that accompanied the transition from Blender 2.4x to 2.5x. This unfortunately is going to make this book dated a lot sooner than you might expect. So, while I do think it's a great book, I might have to recommend waiting for a version updated to Blender 2.5x.
The Blender Foundation has started a new "Open Movie" project called "Mango", and this one is of particular interest to me for Lunatics, because of the technical goal: motion tracking. Motion tracking is principally about putting animated 3D objects into real footage so that it matches the background "plate" (i.e. the original footage).
Well, it's not exactly brand new, but I am taking my first real look at Ubuntu Studio 11.04 (based on Ubuntu "Natty Narwhal"). This is what we decided to put on our "guest" computer when Debian "Wheezy" proved not to be so easy, and it gives us an opportunity to step out of our rut and look at a new GNU/Linux distribution.
Digging through "free" sites to sort the "free beer" from the "free speech" content is quite a chore. Many of the sites are not useful for free culture projects, and many make it very difficult to tell. Fortunately for you, I took notes! Here you will find 8 sites with free-licensed content, 8 more with licenses that you'll probably find acceptable for many projects, and 20 others that might be useful on some projects if you're not a purist. There are also 22 sites I have to warn you away from, because their terms are incompatible with use in free-licensed productions.
In planning the production of the Lunatics series, the most obvious challenge is simply how to do that much animation on such a low budget. Conventional "key frame" animation (which is what Blender excels at and is what familiar 3D movie studios like Pixar use to create their blockbuster films) is beautiful, but it's also painstakingly slow work. Animators live for this stuff, but for me, it's a mountain that just might crush my project. Fortunately, it's not the only way. There are methods for making animation more like acting -- creating a performance in real-time and capturing it in a simulated world. These can be broken down into three basic methods (although they can be used together, creating many overlapping variations): "machinima", "digital puppetry", and "motion capture". Each is a "bleeding edge" area for free software development, but tools do exist.
One of the most exciting technological trends in recent years has been the rise of "3D printing" technologies for rapid prototyping of arbitrary shapes. I've written about this before for Free Software Magazine, but this month I finally got to try the technology out for myself -- in order to create "study models" (a fancy name for "toys") for my video project, Lunatics. In this column, I'm going to walk through the complete process, from creating 3D models to receiving the final product in the mail.
Sometimes the best book on a subject is the shortest. This is a very concise book, focused very much on a single narrow, but important, subject with Blender: which is how to light your subject, create colors and textures, and generate the final 2D render from the 3D scene.
Previously, I demonstrated creating an animatic using Kino. That was an interesting exercise, but Kino is not really up to that kind of job. Blender, on the other hand, has a very nice "video sequence editor" built into it, and it turns out to be very well adapted for this kind of task.
There's a reason they're called "movies." They're supposed to move. Your eyes are keyed to follow motion, and the constant revelation of new information in a moving shot holds your interest longer. Thus, while four seconds might be about the maximum comfortable length for a static shot, shots in which the camera or subject are moving extensively can often last more than a minute without feeling slow at all. Storyboards made entirely from static images make it hard to judge active shots. It's useful, therefore, to be able to insert some movement at the storyboard phase by panning and zooming a drawing. Here I'm going to demonstrate such an animated storyboard using Inkscape and Blender.