Archive
Author Archive

Protected layers are a rig features I had only a vague understanding for a while. Thanks to a bug, and a fix from Ton (and his explanation) I have a somewhat better understanding, I’ll put down here, mainly so I don’t forget. First of all, this is what they look like in 2.5x (left) and 2.4x (right):

So far so good. But clicking these won’t actually change anything in the file you’re working in. Once you link he rig as a group and create a proxy*, things will become more clear.
With a proxy, you have a linked group with a localish rig proxy you can pose. Protected layers control what happen to the local proxy on file load:

  • Unprotected layers are local. The bones here are now out-of-sync with the rig file, you can add bones, delete them, add constraints, remove them, etc. If you change the rig file on these layers, nothing happens to your scene file
  • Protected layers get synced with the rig. any changes to the rig (new bones, constraints, etc.) will propagate to the scene file everytime you load the file. You won’t be able to add bones, delete them, or delete constraints in the scene file


The design allows users to pose bones in protected layers, since ‘pose’ is actually a separate data structure that lives ‘on top’ of ‘bone’ data. Interestingly enough you can even add new constraints (part of the pose) but cannot delete original ones. The only catch is, that any un-keyed poses get wiped out when the rig is synced on file load- so you *must* key every bone you want to keep the pose on.

In Blender 2.58 there’s a bug that prevents posing bones in protected layers. This has been fixed for 2.59, coming soon. This bug is actually the reason I had to find out about all of this, since it cost me many hours, as my rig changes wouldn’t propagate to scene files, meaning I had to delete and then manual spend time fixing constraints, converting curves, keying channels, re-adding missing stuff, every time I updated the rig. Basically < record (constraints/parenting/anything unexpected) , protect, save, load, save, unprotect, re-add the recorded, save> cycle to do on each scene file everytime I wanted to push a rig update. To make things worse, most of our animators are overseas, and many of them don’t use SVN, so the process has been quite painful. I’ll continue to do this until all animators are using the new version, after which I can protect the layers and fix everything up.

Note: if you add a constraint to a bone in an unprotected layer, and later on protect that layer, you will lose that constraint!! since the bone is unprotected, it is local, and once the layer has been protected, gets wiped out by the (identical) protected bone. After this, of course, you can readd the constraint to the protected bone and it will ‘stick’.
* making a proxy:

  • In the rig file, create a group that contains the mesh, armature and all other components of your character, optionally only including layers that contain renderable items in the group Dupli layers.
  • save the rig file and open a new one
  • file->link->browse to the rig file and then link the group
  • ctrl-alt-p and select the armature from your rig to create a posing proxy
Read More

Hey folks, for the first time, the Digital Artistry Workshops at Siggraph will feature a blender session, on Sunday, August 7th at 2:30, some info can be found on the siggraph page, and more details are available here. I’m quite excited to be teaching this course, an 1+1/2 session intended to introduce people from other software to Blender, focusing primarily in my strengths (rigging). I hope it’ll be fun, we’ll try to do fun setups for atypical (and some typical) animation needs. The other sessions look quite interesting too.

Read More

There’s a remote, but non zero chance, that we’ll be able to pull off other denizens of the subway for certain shots in the movie. Thinking about design got me wanting *not* to have other characters with ‘gilgaportions’ but maybe populating the world with stylised characters that have their own uniqueness and could fit into her world. My first little attempt is drawing some basic silhouettes next to hers:

Read More

Sad day on Friday saying goodbye to Dimetrii, who just finished his 3 month internship and is returning home- but not leaving the project, as he will stay on through the animation and lighting/compositing phases.

Dimetrii took some modelling by Jonathan and Kursad and myself as concept art, and then created amazing sculpted iterations and then the final meshes for the film. He did this for Gilgamesh and two of the cockroaches, then did the necessary R+D to build Gilgamesh’s hairstyle with Blender’s sometimes stubborn particle hair. He did render-tests in Blender Internal and cycles, some of which have been posted on this log. He’s an amazing modeller, probably the best or among the best that I’ve known. Happily he’ll continue to work on the project from home, and we can have a reunion at the blender conference.

Read More

Hello folks
Tube currently has 6 animators working on shots, with a few more to join if my blackmaiconvincing tactics work ;) . Some of these talented folks are new to blender, some have even written books on the subject. To ease the pain of transition, I’ve been recording little video tutorials to help them get into the gilga rig as quickly as possible. I don’t see a reason to keep this stuff private, so I’m going to be publishing them on the blog for all to see. When the project is finished they might become part of the official documentation.

So now: Keying sets. Blender has this concept since 2.5, and the definitive explanation is found in joshua’s blog, here (btw his blog is a must-read for any blender animator). The general idea is that when you hit the keyframe insertion hotkey, or you have autokeying on, keys are adding into a ‘keying set’. the builtin ones work on selection, adding location/rotation/many more things in as desired (and you can add user defined builtins via python) while the user defined keying sets work on specific objects.

The cool thing is, with keying sets you can key things if you don’t even have them selected! this is awesome during the blocking of the anim, where you want to key everything. Helpfully, Blender provides a “Whole character” keying set, that keys everything on your entire character. Great, right? WRONG!!!!

It turns out this is a disaster. the whole character keying set has no idea how your rig is setup. It keys every transform and every property on every bone in the active armature. Meaning, bones that riggers never intended animators to touch, now have keys on them. In the best of cases messy, in the worst:as I said, a disaster.

So to save animator’s the hassle, I added the ‘gilgamesh’ keying set, with it’s own UI panel to add parts of the rig to the keying set or to remove them. How does it work? well, a day’s worth of python coding ;) . So without further ado (I’m longwinded today) here’s the tutorial video on how to use them (btw, if you full screen these, you’ll get better quality):

Read More

I recently received a digital copy of Blender 2.5 Character Animation Cookbook from Packt publishing. This book is written by Virgilio Vasconcelos, a blender animator and rigger who is currently animating shot ‘a1s38′ on this project :)
The target of this book I feel is strong beginners or intermediate level artists/learners, who are either new to rigging, animation, or to blender itself. Advanced users could benefit from it but more sporadically (ooh, I didn’t realize you could do that!, or as a reference, and students who are absolute beginners may get lost in some terms, or not yet know why you would want to do certain things.
Virgilio’s past experience both as a professional animator and as an animation professor is evident in this book. He writes in a clear, concise fashion, and has a knack of excluding super-complex detail while still taking things to a production level in a surprisingly simple seeming step by step way.
The first part of the book focuses on character rigging, and I really appreciate that he starts from the basics- setting good bone orientations, shapes etc., rather than leave these things as an uexplained step for later on. The rigging lessons build on each other, so after some basic lessons they quickly ramp up to a level where students must really be diligent and pay attention to learn. By the end of the section students should be confident rigging cartoony biped characters, and have enough experience that they can start experimenting with ‘invention’, creating new setups for new situations, or their own personalized ones for improving common ones. I really love that Virgilio shows some of the very strong production techniques in Blender, such as using sculpting for creating corrective shapes.

In the second part of the book, the focus is all on animation, starting with a simple ball exercise, and rapidly ramping up into character animation. The first chapter is mainly technical (like the rigging section) in it’s setup: that is, he starts with workflow, then with things like IK/FK switching, etc. This book introduces workflow and technique first, so the focus at start is learning animation in blender, not learning animation in general yet. This chapter is basically an introduction to blender for animators, and I think maya or even 2D animators picking up Blender will spend most of their time here.

After the technically-heavy blender intro, the rest of the animation chapters return to the basics a bit, with lessons in timing, spacing, anticipation, squash and stretch, etc… All those basic animation principles we know and love. The book is good at using blender features to enable animators to get what they need done efficiently, using Blender’s path-drawing features to adjust their arcs, or using the Open GL preview to better see their timing.  As in the rigging sections, the downloads for the book contain Blend files that make it easy for students to get right in with each chapter working on the exercises with no fuss.

The book ends with an appendix with some useful tips on planning, organisation, and terms.

 

Some criticisms: Even in a good book such as this, I can find some things to crit ;) , but they are mainly small things. In the rigging section, Virgilio fails to warn his audience about the (current) fragility of one setup, when talking about the corrective shapes (an otherwise excellent segment). Luckily, a current summer of code project fixes this problem, so it’s likely that any such warning will be unneeded in the next release of Blender! Another tiny nitpick is that Virgilio uses the term spacing in two different ways, the first time unconventionally (referring to actual physical locations) the second more like the usual way for animators. I feel that he could have picked a better word for the first time. Finally, in the rigging section, I think that a tiny introduction to Python for creating interfaces would be quite good, and give riggers an alternative to the object/bone based sliders in the 3D view.

Conclusion: These are really tiny nitpicks. This book really is good, in fact, I’d say it’s the best animation and rigging reference for Blender yet, and even as a general reference for riggers and animators in 3D applications (since most techniques will be similar in different programs). While I read through linearly from beginning to end, the book also has ‘See also’ segments at the end of each section, that allow students focusing on a particular track, to follow a different path of learning in the book, something I thought was a good idea. I would put this on my ‘recommend’ list, as a book for intermediate/strong beginners, as a Blender reference for riggers/animators from other software,  or as a book for teachers to use as a textbook.

Read More

Adding rubberhose style control to a section of arm/leg is either not dynamic (just crank up the ease values on the bbones) or laborious (as in mancandy’s rig, with at least a lattice, curve, a bunch of extra bones and constraints, some modifiers, etc.)

I hadn’t planned on rubberhosing Gilgamesh, but one of the animators recently expressed that bending limbs ever so slightly can be used to enhance poses even on fairly realistic characters, so he would like the control. I whipped up a quick script/operator to do it, called Raymond Curver so now all I have to do is to select a bunch of verts, then select a bone I want to rubberhose, then run the operator. A quick demo below:

The script is going to be released soon, but it does depend on quite a bit of tube conventions and a bit of knowledge of our pipeline and scripts. This should improve after the project is over and I have time to generalize our tools.

Read More

Hi folks, this is a 30 minute explanation of the main rig features, intended for new and continuing animators on the project. It has pretty bad audio (recorded on my phone, with lots of noise and uhms and aahs) and also has been shrunk and compressed quite mercilessly. That being said, it just explains the various features of the rig to be handy for our animators.

I didn’t see any reason not to make this public, so I’m putting it on the main blog:


You can download here: mp4, ogg, or webm in case the in-browser thing doesn’t work.

Read More

Today on our way into the Drome from a nice Sunday run+swim, we encountered some unlikely arrivals: a cluster of bright yellow mushrooms growing in the potted plant outside the studio. For your enjoyment:

Pics taken with my mobile phone. What do you think, should we eat them? ;) . Now I wonder if we should use the mushroomer for mushrooms as well as the other things we want to grow/animate with it. If mushrooms can grow in the studio environment, they can live anywhere, including subway stations.

Read More

Since Dimetrii just posted his eye material and texture, I thought I’d show this quickie test of the eye rig – missing such things as eyebrows, eyelashes and that insane little membrane on the inside corner by the tear duct.

The rig features two directional controls, a track-target and an on-face widget, that can be used separately or together, a pupil dilator, controllable eyelids that mimic muscle motion but also have a limited vertical track with the eyeball, and an even more limited horizontal one, and a deformational lattice that allows the non-spherical eye to ‘push’ the skin around it. I may add a shrinkwrap to the inner eyelid to make sure it stays on the surface.

Finally, I’d like to thank everybody who, in an idle moment, took a video camera to their eye and posted it on youtube. Viva la crowd-sourced reference!

Read More