Book Review: Blender 2.49 Scripting

Book Review: Blender 2.49 Scripting: "

“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 hope this book had come out earlier, but I guess its better late then never. What follows is my review of the book, arranged into sections.




Introduction


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 creativity into reality. Apart from its built-in tools, having the ability to extend the tool set and customize the software in a pipeline with Python was a bonus. The community has risen and developed quite a number of tools ranging from simple to complex using the Blender Python API.


But there was a dearth of good tutorials on Python scripting in Blender and on using the API to create better animations and such. The books from Blender Foundation really 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 this book assumes?


This book assumes that the reader is already familiar with using Blender and understands the data system. But, the basic concepts, needed to script using Python in each chapter are reviewed.. for example Object and DataBlock 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 by helping with installing Python and also explaining how Python scripts are automatically integrated into the menu system, help system with 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 tool-set. 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 the scripts/drivers for animating an IC engine and their design with illustrations is very commendable. I have learnt a lot of new stuff that i was not aware of about using pydrivers and designing custom constraints.


Another thing the author did was to make use of Python library modules (internal and external) to create some very interesting scripts. For example, using Python’s wave module to animate meshes using shape keys was a very good example of creating a complex systems using existing tools. Render management has also got good coverage and the examples for stitching images from various cameras was excellent (And using 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 the Python’s built-in script editor by writing plugins. On top of that the examples on integrating the editor with SVN is simply amazing.



Thank You!! Support Files



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 code walk through of the important pieces of the code and the full source code is provided with instructions on usage in Blender. Also, the references chapter is a nice addition to the book. And links to Wikipedia pages that cover the theoretical details of some of the example scripts 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 examples at the beginning of every chapter. Especially the chapter on programing custom mesh objects in Blender would have benefited.

Also, in some cases, when the code for complex scripts is explained, the paragraphs could have been broken down into smaller ones for better readability.


More examples on adding OpenGL overlays to the 3D View would have been useful. I believe that ability to do OpenGL programming in Blender is a really awesome feature and good examples on how to achieve the same are few and far in between.


In Summary


In summary, Blender 2.49 Scripting is a great technical and programming book for anyone interested in learning about the process of designing and implementing Python scripts for Blender. Also Animators will benefit a lot to create better rigs and create complex animations using the python integration into the animation system in Blender.


review by Gaurav Nawani


"