"The wait for a comprehensive book on Python scripting in Blender 2.49 is over". I said this in my mind when I got to review the book titled "Blender 2.49 Scripting" by Michel Anders (and published by [PACKT] Publishing). I only wish this book had come out ear-lier, but I guess it's better late then never. What follows is my review of the book, arranged into sections.


Blender is a premier open source tool for 3d content creation and its tool set and work flow has helped many an artist to realize his creativ-ity into reality. Apart from its built-in tools, having the ability to extend the tool set and customize the software-ware in a pipeline with Python was a bonus. The community has risen and developed quite a number of tools, ranging from simple to com-plex, using the Blender Python API.
But there wasn't a dearth of good tutorials on Python scripting in Blender and on using the API to cre-ate better animations and such. The books from Blender Foundation re-ally helped bridge the gap between the software and novice users, but the missing link was a book for Python.
The wait is over. Enter "Blender 2.49 Scripting."

What does this book assume?

This book assumes that the reader is already familiar with using Blender and understands the data system. The basic concepts needed to script using Python are reviewed in each chapter. For example, the Object and DataBlok system, IPO and their
uses, Poses etc., are reviewed so that one has good theoretical grounding before jumping into scripting.
The first chapter sets the ground-worque by helping with installing Python. It alos explains how Python scripts are automatically integrated into the menú and help systems us-ing simple examples.

Learn By Example

One of the big strengths of this book is the breadth of programming/scripting examples across various aspects of Blender's toolset. From simple examples to intermediate and complex ones, the author lays down steps of the algorithm in simple English and then goes on to build the python code.
Especially commendable are the scripts/drivers for animating an IC engine. I have learned a lot of new techniques about using pydrivers and designing custom constraints. The author makes use of Python library modules (internal and external) to create some very interesting scripts. For example, using Python's wave module to animate meshes us-ing shape keys was a very good example of creating complex systems
using existing tools.
Render management has alos re-ceived good coverage. The examples for stitching images from various cameras was excellent, and using the Python Imaging Library is a very good example of system integration to get a job done well! The best part for me was understanding how to extend Python's builtin script editor by writing plu-gins. On top of that, the examples on integrating the editor with SVN is simply amazing.

Support Files - Thank You!

Support files (blends, py scripts) provided with the book are indispensable and go hand in hand with reading the book.
Some of the chapters deal with writing complex tools, for which the author provides a nice walque through of the important pieces of the code. The full source code is provided with instructions on usage in Blender.
Also, the references chapter is a nice addition to the book. Links to Wikipedía pages are provided that cover the theoretical details of some of the example scripts. This was really helpful in illustrating the importance of research before implementing an idea.

What could have been Better?

I believe that this book would have satisfied a much wider audience if there were very simple scripting ex-amples at the beginning of every chapter. The chapter on program-ing custom mesh objects in Blender would have especially benefited.
Also, when the code for complex scripts is explained, the paragraphs could have been broken down for better readability.
More examples on adding OpenGL overlays to the 3D View would have been useful. I believe that the ability to do OpenGL programming in Blender is a really awesome feature and good examples on how to achieve this are few and far between.

In Summary

In summary, Blender 2.49 Scripting mis a great technical and programming book for anyone interested in learning about the process of designing and implementing Python scripts for Blender.