tube

Author Archive

Going to TOSMI, Sofia Bulgaria

by bassam on Aug.13, 2010

Hi folks,

Tube will be on slight slowdown the next couple of weeks, as the local team goes on various hiatus(es? ii? hmmm) . I’ll be in Sofia Bulgaria, teaching with some standup talented Blenderheads at TOSMI (Training in Open Source Multimedia Instruments – in a word: Blender) sponsered/ ran by interspace.

Becky is taking a week break from drawing- right now we’re four shots short of our summer goal of finishing a draft of the new animatic- and visiting friends in NYC. Fateh, Josh and Henri are vacationing in Boston, Block Island, and NYC for a few days, then back to the studio.

I’ll be still working on Tube part time, via IRC , email and Helga. Expect some rigging goodies soon!

4 Comments more...

Gilgamesh Rigging

by bassam on Aug.09, 2010

Time to Rig
Our character concept art has been finaled for a while (expect a post with pretty pictures soon). All I really need to know is where the joints and outlines are, which I can get from the concepts, so it is at least a good time to begin rigging.
My last production character rigs have all been in Blender 2.4x, examples can be seen online in the Mancandy rig and the rigs I did for CNIPA ( Suzanne Award winning entry by Spark Digital Entertainment). These rigs are ‘old’- there’s been progress/new ideas in the world of rigging, and Blender 2.5 is designed to enable (some) of these techniques.
Research
For research I studied two great blender rigs: Sintel by Nathan Vegdahl and Blenrig by Juan Pablo Bouza. I also looked at the features of Anzovin Setup machine rig for Maya, and had a great time looking at rigging PDFs, books, and demoreels. The basics are all the same it seems, but some features I had considered ‘optional’ are now ‘required’, and I found some awesome hints for more realism/detail in rigging, such as proceduralism, skin sliding and more. As I implement some of these I’ll blog the techniques.
Jarred and I conducted some rigging and python experiments, such as Pivot Switching, space Switching, twisting Spline IK, Mouth rigging, and more. I also made the copy menu addon for Blender because copying visual transformations was a good step in automating rigs, and taught me about the various available transformation matrixes for Blender bones.
Dan Finnegan, a previous Maya user, learned enough Blender to do cloth simulation tests in controlled situations. As a result we are quite nervous about using Blender’s cloth in production! We’ll opt probably for a rigged solution, or a cloth solution that only does part of the work and requires rigging for the rest. Our cloth requirements are quite extensive based on the concept, but not as bad as some of our early clothing designs. Thanks to work done by the team at project durian, we can at least use cloth sims in linked characters.
Results

I had great help from JPBouza, who customized a Blenrig model and rig to Gilgamesh proportions from the Zepam mesh – after deliberation, I will do a from scratch rig for our main character, while borrowing some features from this rig, the most important in my opinion is the awesome mesh deformation cage he has made that gets excellent results, which he adapted to Gilga’s proportions, so I’ll probably use that with no modification. I’ve got a list of ‘must have’ features, a good idea of how the overall rig should look like, and a list of ‘nice to have’ features. Some ‘advanced’ techniques are surprisingly easy to do, while some (ahem, skin sliding) will take more work to find workable.
Requirements
We need to start animation in September, so the first thing is deadlines: we need the main body controls locked down by then. No time to wait for a final character model, so I work on a proxy I made for rigging.
A small list of needed features on the very basic proxy:

  • IK/FK Blending on the arms and legs
  • Locked Elbows for the arms
  • Locked Knees for the legs
  • Adjustable automatic shoulder rotation
  • Adjustable rotation isolation for arms in FK
  • Seamless IK/FK blending for legs and arms
  • FK control chain for Torso
  • Adjustable rotation isolation for torso controls in FK
  • IK controls for Torso
  • FK/IK switch for Torso
  • Seamless Pivot Switching for Torso
  • Toe-Midfoot-Heel Pivot for Feet
  • Neck controls that allow nice motion/deformation of Gilgamesh’s very unique neck and shoulders
  • Eye direction and tracking controls
  • Rule tagged bones for easy adjustment and robustness of the rig (with rigamarule)
  • Optional stretch for arms, legs and torso

This is not the final list, is enough to get animation started, but not finaled. More features will happen, some on the proxy, some after we get the final character model done, such as:

  • Facial animation
  • Hand and finger animation
  • Deformation tweaks
  • Bend tweaks
  • Cloth and hair
  • Procedural shakes and vibration
  • Direct knee and elbow control

Progress

We’ve got the basic FK controls for the Torso, IK and FK for the arms and legs, Auto shoulder rotation tweakable, IK FK blending working on arms and legs, seamless (no jump) blending working 90% on the arms (both ways) and working on the legs going from IK to FK. An initial control UI exists, ready for tweaks, and we have rigamarule ported to 2.5, lacking only nice UI so we can start tagging bones (Thanks Daf and Josh)

5 Comments more...

Update on Copy Menu Script

by bassam on Aug.04, 2010

Just a quickie post; the copy menu script is now in bf_extensions SVN on blender.org. Some updates: It can now copy Vertex weights by index and it can also copy mass ( a request on this log) thanks to Fabian Fricke. I’ve also updated it to work with current SVN, which means… yes, it won’t work with Blender 2.53 beta anymore. It’s a fast paced Blender we live in! I’ll try to make it work in both soon, but no promises.

6 Comments more...

Copy Menu Redux

by bassam on Jun.13, 2010

Sorry for the lack of Updates, things have been a bit hectic. Will return to Tube news soon. In the meantime, I updated the copy menu script to the Blender 2.5 Add-on system. To install, download the script, and extract it. Go to File->User Preferences->AddOns, Press Install new addon, browse to where you extractedit and select it. Then press ‘enable add-on’ next to the new ’3D View: Copy Menu’ Add on. I’ve uploaded this to the Python contribution tracker, so it has a slim chance of being an official part of Blender.
EDIT: you can now download directly form blender-extensions SVN, and it will always be up to date
https://svn.blender.org/svnroot/bf-extensions/contrib/py/scripts/addons/space_view3d_copy_attributes.py

CTRL-C now gives you the copy active to selected menu. Don’t forget to save user preferences if you want to keep it enabled!

8 Comments more...

Making a ‘Make Movie’ Button, Part 1

by bassam on May.22, 2010

Pre-production Pipeline

Even during pre-production, a project can rapidly become a mess if you are not careful. In this phase, the assets to manage are:

  • script (for us, a Celtx project)
  • breakdown ( a document with shot by shot list for the movie)
  • storyboard images – one per shot, in our case typically done in Gimp
  • animatic – usually generated from modified storyboard images, but sometimes from .blend or other files, the animatic is a draft of the movie with minimal animation (camera anim, few in-betweens per shot, etc).

moving into production, we also need to manage:

  • shot file or files
  • production reference library
  • production edit

Adding a shot can be an ad-hoc process: assign it a name and number in the breakdown, make a storyboard image, then work on any number of source gimp and blender files to generate some .pngs or .avis that are finally referenced in the sequencer. Rinse and repeat, and you end up with hundreds of disorganized files, touching any of which will break the animatic edit–a situation far from ideal.

Organization

If you look at Jarred’s earlier post , you can see the beginnings of the solution. We had some issues from using a patched Blender and were still looking at a lot of manual work to add a shot into the production. Most of these problems we solved with a slight re-organization of the preproduction directory:


As you can see, the main folder contains source files (which should eventually be moved to their own subfolder), the breakdown and the edit. The source files generate the shots: all their filenames begin with xxx_yyyyyy, where xxx is the shot number, and yyyyyy is the short description from the breakdown. These are all checked into SVN. A subfolder called images/ contains various subfolders, one per shot, with the name xxx_yyyyyy. These contain every image, image sequence, movie or other file that is referenced by the edit.

Now we no longer need a modified Blender, since we don’t need to edit the names of the image files, just their paths.

Introducing Geppetto

The next step towards improving anything is coming up with a cool name. To wit, ‘sequence_add_and_rename_shots.py — our former Python script for resequencing shots — becomes Geppetto, for the puppet master himself.

Ordering the Edit

Now our directories were organized, but the edit looked a mess! it would be nice to have each shot as a strip, not a collection of strips and effects. So we used Blender’s metastrip feature, which basically allows you to encapsulate any collection of related strips in the sequencer (strips in Blender are like clips in other editors) with one ‘metastrip’ – kinda like a strip folder. We gave each of these the name xxx (the shot number)- now when you look at the edit from the top view, all you see is shots, not the layering of all the background, foreground, etc. elements coupled with effects and transforms to make them move.

Hooking it into Geppetto

All this organization makes things easy to automate. Geppetto currently provides an:

  • ‘Add Shot’ Button which lets you type in the shot number and name and then does the following:
    1. Adds the shot to the breakdown (you no longer edit the breakdown by hand, but use Geppetto instead)
    2. Creates a source .xcf file with the name xxx_yyyyy.xcf , adds, and commits to svn
    3. Creates a folder of the name xxx_yyyyy in images/ and makes a .png single frame in it
    4. Links the image into the sequence editor as a strip at the current frame position
    5. Encapsulates the image into a meta strip with the name xxx
  • ‘Remove Shot’ Button: basically lets you type in which shot to remove , and takes it out of svn, the edit, the breakdown, everywhere. The files go to a junk folder so you don’t lose it for good.
  • Shot List, with each shot getting:
    1. A text field you can edit to change the shot number
    2. A commit button to push your change to svn and the edit – basically this is for the editor/director to resequence a shot, or (not implemented yet) change the shot description refer to Jarred’s post for details
    3. An update button to update Svn and get new shot images in. Basically, if you or someone else changed the source .xcf for a shot, this gets those changes in automatically – details upcoming in part 2!

And finally, Jarred has made a prototype of the next feature, not yet rolled into the main code (drumroll, please): stay tuned for the ‘Make Movie’ Button in part 3! :)

Leave a Comment more...

More Goodbyes

by bassam on May.17, 2010

Today Jarred boarded a plane taking him back home to South Africa. We’re all missing him (and Pablo) and planning for the next time we meet. Some quick phone-camera shots of the dynamic duo this last weekend:

At a Barbeque at Chris Perry’s house:
Last day in the drome:

2 Comments more...

Blender, Elephants Dream and Big Buck Bunny at Connecticut Film Festival

by bassam on Apr.27, 2010

And me!
Connecticut Film Festival has a strong FLOSS representation since last year- they have multiple presentations on using Free Software to produce films, games or other interactive media. Last year I presented Blender workshops along with Jason Van Gumster, this year I’m going again. If you’re close to Danbury CT, come by.


Elephants Dream, 05.05.10 – 3:15 pm,05.09.10 – 2:00 pm


Big Buck Bunny 05.05.10 – 3:15 pm,05.09.10 – 2:00 pm


My workshop about making Tube with Free Software 05.06.10 – 1:00 pm

Other Free/Open Source related presentations about video production, audio, rosegarden,copyleft, open office, free software design and much more.

Leave a Comment more...

Summer Internships Open

by bassam on Apr.22, 2010

Calling all students (18+) and recent graduates:

Applications are open to join the team for summer internships, hosted by the very cool Bit Films Incubator Program at Hampshire College, Massachusetts.

Helmed by Chris Perry, formerly of Pixar and Rhythm & Hues, the program draws together a number of interesting projects and a lot of talent, so although the internships are unpaid, it promises to be a very stimulating and fruitful space.

The internship period runs from June 1 through September 3. Please note that applications are due (via email) no later than Monday May 3, 2010 at 5pm (EDT). (EST)

More information at Bit Films. Still have questions? Comment!

Leave a Comment more...

Coders wanted!

by bassam on Apr.09, 2010

What seems like a long time ago I wrote rigarmarule in Blender 2.49. For reference you can check the blog post here and here , or you can check out the project from SVN:
svn co http://projects.freefac.org/rigamarule

Rigamarule is not exactly an auto-rigger (though it can be part of one, or assist one) – it’s rather better thought of as a constraint system that affects rigging instead of animation. To make it easier, we call them ‘rules’ rather than constraints, and it makes sure things in your rig stay aligned and correct no matter how you move the joints around. This allows making fast adjustments to characters, or it allows retargeting a rig to a different proportion character, or it can be used to make templates ‘smart’ for use with etchaton or other template-retargeting system (at which point you do get something like an autorigger)

The problem is that this system was written in Python 2.5 / Blender 2.49. At the time we hadn’t switched the movie to Python 3.1/ Blender 2.5. Our script is now not usable by us! and I do not have enough time budget to do the porting myself.

This is an official cry for help, if we can get some assistance porting we can use the script for the movie, and it will allow future upgrade work to make the script even better, and to further integrate it with other rigging tools to help make the ultimate autorigger for Blender.

4 Comments more...

Mouth Rig Test

by bassam on Mar.26, 2010

Welcome riggers!

Before going on to the final character rig, I found it prudent to do a few small tests. I’m planning on doing a layered approach to the face rig, with some basic deformer based (armature/latice/curve/meshdeform/etc) controls for major motions on the ‘bottom’ layer, and more specific facial expressions on top. The latter will probably be blend shapes, but I haven’t decided completely yet.

For the jaw, I wanted the ability to rotate the jaw freely (as well as push it back and forth) where rotating down results in opening the mouth/lips, and rotating up results in squashing the lips/face, no interpenetration. I mulled a few ideas, but finally decided on combining an armature deform (this could get a replacement in the final rig) to open the jaw, and a lattice deform to squash it, blending between the two based on the jaw angle.

The final result is a bit more complicated than that; I couldn’t find an easy way to blend modifier influences, so I settled for having both modifiers always on, but blending the influence of the bones that do the deformation based on the angle of the jaw. There is a slight risk here: two non-multimodifiers in the stack on top of each other might look bad splitting the deform, but the result in this test wasn’t too bad.

I present you with a quick video capture of the result:

Download link

Keep in mind this is just a test! for a real rig, a lot of refinement would be needed to create pleasing deformations; more complex rigging than just the jaw and head for deformation, more constraints, better weight painting, more careful placement and design for the bulge lattice, correction shapes, etc. However, for a test, this is showing some promise- though I would be more comfortable if I could use multimodifiers and blend the influence of the modifiers directly.

I’ll post more tests as I go along. If anyone is remotely interested in the .blend file for such a simple thing, let me know, I’ll be happy to upload it.

Last note: If you are on a mac and cannot view the video, download XiphQT. If you are using Windows download the Ogg codecs for windows . Firefox, Opera and chrome users should be able to view the video directly in the browser (as should Safari users with XiphQT installed). If it doesn’t work, just use the download link instead.

1 Comment more...