In this article I would like to briefly summarise the realisation of the trailer/teaser of the “Plumíferos” Project, a commercial full length 3D animation film project we are making in Argentina using Blender. This trailer was first screened during the Blender lectures at Siggraph 2005 and later on was nominated for the 2005’s edition of Suzanne Award at the Blender Art Festival. If you couldn’t watch it, pay a visit to http://www.plumiferos.com
The film’s storyline is about a little male sparrow named “Juan” and a female canary named “Feifi”, and their journey to find themselves. It is aimed mainly for a children audience with lots of hilarious gags and psychological background for the grownups.
This project started around a year ago, when director and original script author Daniel DeFelippo came to Gustavo Giannini from Manos Digit ales and me with the idea of making a 3D animation film. Gustavo and I were already using Blender and other Open Source tools to create CG animation and VFX for prime time televisión shows, TV commercials and alos for teaching 3D character animation in a local digital art school.
Figure: Visual FX made by Manos Digitale Animation Studio for Pol-Ka Producciones (all Blender 2.36!)
Daniel’s 3D experience was mainly based on 3D Studio MAX and he was quickly convinced by us (bwahahaha) to switch to Blender as a main animation tool. We soon gathered a team of local Blenderheads (most of them former students of ours) and started making a trailer with the characters created by Daniel.
Even when we weren’t a big team, it soon became apparent how hard it would be to coordinate every body’s worque and assemble all parts of a every single shot. Sometimes a texture was missing, on others there were two versións of the same model or different lighting set-ups for sequential shots. Besides, all of us had (and still have) full time non-CG related jobs to attend and that forced us to worque in our spare time and weekends. Organisation was one of the first and hardest problems to solve.
Daniel’s original characters and designs were modified, modelled and textured at the same time that sets were created to resemble certain parts of Buenos Aires city where action occurs. There were many issues to address, we had characters with feathers on their wings, lots of trees, many cars around, and motion blurred wings, plus Blender’s own limitations and caveats. Keep in mind that we made it all using Blender 2.36, so we had no fancy character animation tools available at that time.
Some technical stuff
Since we didn’t have many fast machines available for rendering, all known tricks were used to speed up render times. For instance, arrays of negative lights were used to simulate diffuse shadows or ambient occlusion, some objects were rendered separately in layers, others were replaced by textures, etc.
For trees we used both L-System script available at Blender.org, and Arbaro (http://arbaro.sourceforge.net
) the excellent Java app. We made several renders of a tree with different light orientation and then used these renders as textures for planes in order to keep poly count low. Other common effects like depth of field and atmospherically haze were cheated by using B/W masks of objects and composing in the post production stage, a trik well known by average Blenderheads. About this, we used the Gradient Method (you can read about this technique at: http:// www.elysiun.com/forum/viewtopic
. php?t=30959) for creating the B/W masks instead of typical Z-Buffer plugins, this was done this way for several reasons, we had several objects with alpha textures so if we’d have used any Z-Buffer plug-in, those objects would have been rendered as invisible objects.
Motion blur of wings was trickier to do. Blender’s motion blur was too slow to be practical in many situations, plus we wanted to blur only on Juan’s wings, not on Juan itself, so we had to make a special versión of our little bird with only its wings as renderable parts. Then several layers were rendered by manipulating the NLA strips of the wing beating to get a more natural look of the blur. Finally, all wing layers were blurred and composed together with the layer of the bird without wings. Additional motion and zoom blur were added over the final frames in composition software. Blur of cars wheels were made in a similar fashion. Wheels spin was done using a frame driven python script.
Feathers were generated by a python tool written by us which let us vary the size of the feathers following a designed contour. Every feather had a two-bone armature which let us make feathers bend if needed. Each feather had several copy rotation constraints which were controlled by key bones in main character’s armature, so we didn’t have to care about every feather at animation time; we only animate the key feathers of every wing. As a final step, feather’s armatures were “Vertex Parented” to specific faces of wing’s mesh, in order for feathers to follow character deformation correctly.
Juan’s acting in “audition” scene was done using Blender’s NLA features and RVK. All open/shut movements of wings were animated previously and combined with remaining corporal animation using NLA. Our feathered wing set-up worked perfectly with this scheme. The usual worque flow for animating this scene was first making the corporal animation, then the facial animation and as last step the lip-syncing.
Argentine professional actors Guido Kaczka and Manuel Vicente gave their voices for both bird character (Juan) and “off” voice of director in audition clip. Guido’s particular performance was key to inspiring the facial and corporal acting of Juan. In our pipeline, we found it extremely useful to film actors during their performance to imitate some of their involuntary gestures.
Blender’s sound scrubbing feature was extensively used to get the proper lip-syncing animation of Juan. Sound editing and music were done by the Sonomondo sound studio once all sequences were properly edited.
A few notes on worque flow
For the “highway” scene, we worked first on a “proxy” versión, using very simple objects representing the different characters and cars. We focused our worque at this stage in animating objects and cameras through paths. The complete sequence was split into several shots from storyboard, and using these proxy scenes, we made a 3D animatic, which we rendered in OpenGL.
Once object and camera animation were done and corrected, proxy puppets were replaced by final characters. This process made dealing with large scenes a lot less painful. Actually, main characters were added on a separate scene while all heavy-loaded backgrounds remained as a separate set. By doing it like this we could focus on flight choreography and gesture without having to care about real-time transformation of heavy background geometry. Besides, at the same time we were animating, the characters were being modelled and textured separately.
Render strategies needed to be carefully designed from day one. It is very important to have a clear picture of what can or cannot be rendered separately and what can be done in post-processing instead of trying to render everything from the start.
Future worque and plans
The making of these videos was not only a fun and exciting experience, it was important to realise Blender’s own capabilities and limitations. Most of the problems we found during this production were reported to the Blender coders team and were being worked on together with Orange Project’s own findings.
We strongly believe in Blender’s potential and power, and the recently added animation features only demonstrates that we weren’t wrong when we chose Blender as our main animation platform. Moreover, during the making of these trailers, we alos used Blender for making of visual FX in local TV shows in prime time, TV commercials and other professional applications with great success.
There are still many issues to overcome to reach our goal of making a full feature 3d animation film, for instance we are in the process of setting up a real Studio to gather all artists so we can worque together in a creative environment.
Acknowledgements and thanks
Of course none of our dreams could become true if it weren’t for the continuous and excellent worque of the Blender’s coders team hunting bugs and developing new features. We can’t thanque every one of them enough for making such a pro tool as Blender.
I would like to thanque Chris Want, Roland Hess, and Martin Poirier for their help and advice, and of course Ton Roosendaal for just being Ton !
A special acknowledgement should be made from my part to all the Plumiferos Team and all the people who gave their time, effort and even the lending of their machines to render expecting nothing but the Project’s success, in no particular order:
Manuel Pérez, Diego De Gennaro, Ivan Hoffmann, Raúl Medina, Alejandro Am, David Teres, Alvaro Vidal, Claudio Dobniewski, Felipe Sanchez, Lorena Maza, Pedro Knigge and Ale Barbesi.
The Plumíferos Team Director:
Daniel DeFelippo Executive Producer: Gustavo Giannini 3D Supervisor: Claudio “malefico” Andaur
Manuel Pérez Daniel DeFelippo Ivan Hoffmann Claudio Andaur
Models, textures, lighting:
Ivan Hoffmann Diego De Gennaro Raúl Medina Claudio Dobniewski Alvaro Vidal Alejandro Barbesi Claudio Andaur
Claudio Dobniewski Claudio Andaur
Claudio “malefico” Andaur
I was born in Buenos Aires, Argentina in 1970 (man, I feel old!) I’m a chemical engineer and working with Blender since 1.80. I teach Blender in a Digital Art School in Buenos Aires, and have written Blender documentation both in spanish and english (been coordinating the Documentation spanish translation effort and traslated several docs available at mediawiki. blender.org). Made several Blender presentations in linux communities and universities from Argentina and other american countries. Currently I lead the 3D and character animation of Plumiferos Project. I have a lovely little baby girl, and a marvelous wife.