tube

blender

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...

More Snapping and Double Removal Options with Python

by josh on Aug.03, 2010

Yet another python add-on for today!  I hope this is one that will be useful to a great many of you, even though its pretty hard to explain how it works… bear with me as I expect it will speed up your modelling work flow.

I’ve long been frustrated by the limitations of ‘Remove Doubles’ in blender.  Remove doubles searches for verts which are close together (in all axes) and merges them, which is great.  However sometimes its nice to be able to constrain this action to a single (or pair of) axes.  For instance if I have a row of vertices running along the X axis and I want all of them to have the same Y and Z coordinates I could select the entire row then press “s” (to scale), “shift-x” (to constrain to Y and Z), then “0″ (to snap all of them together) .  This is fine if you only have one row of vertices.  Say now that you have 100 such rows of vertices, all running roughly in the X axis direction, and you want each row to run exactly in the x-axis, so for every single one of those 100 rows you have to select each row, and press “s, shift-x, 0, enter”.  Does it get a bit boring?  Would you prefer if it was automated?

Have a look at the quick tutorial image below to see what I mean, and then if you want, download the add-on and install it.  As always let me know if you find any bugs in the comments below and I’ll try to fix them ASAP.  Happy (faster) blending!

DOWNLOAD: http://tube.freefac.org/wp/wp-content/uploads/2010/08/snap_with_axis_constraints.zip

Tutorial:

how to use the axis constrainable snap & remove doubles tools

On another note we’ve been out to the pictures a few times recently.  We saw a double feature of “I am Love” and “Winter’s Bone” on Sunday.  Personally I thought that the cinematography in Winter’s Bone was a refreshing break from the all-to-common extreme-DOF-fatigue that we got to see in the europudding (see Truffaut) of a movie that was “I am Love”, a film laced with religious salvation metaphor and comic (decency induced) visual-analogy-as-substitute-for-the-explicit.  Conversely the portrayal of value-less material items as symbolic of ‘our’ personal hollow ambitions for wealth (in the form of tacky debris spread around the dwelling; toy horses, kitsch garden ornaments displaying cherubic qualities), set against the wholesome immaterial but valuable actions of the film’s main character provided an interesting subtext for what would otherwise have been a straightforward plot.  Sadly some of our friends didn’t see it the same way and criticized the ‘off’ direction and cinematography.  One way to look at it is that they were only judging according to their own personal objective perceptions of how films ‘should’ be directed and shot, rather than to how an audience subjectively perceives a film.  Fire off in the comments; lets hear your own views!

Leave a Comment more...

Across the Pond

by josh on Jul.12, 2010

Hello Everyone,

I’m Josh, one of new crew members for tube.  I travelled over to the US from England last week, and I’m here until mid September undertaking cultural studies, and working on the models for the film.  While I attempt to mediate transatlantic differences (such as introducing the rest of the team to Branston Pickle and Marmite, explaining the etymology of ‘bangers and mash’, and justifying why I need a knitted cosy for my teapot), my hosts are offering an American exchange programme complete with drive-in movies, fried dough, Independence Day Celebrations and Root Beer.  In my time away from the screen I’ve been out enjoying the fresh air, beautiful countryside and very un-British weather.  I’ve been running to and from work each day (8 ½ miles each way), and when I had a few hours to spare last weekend I biked up to the Sugarloaf Mountain.

Fresh out of finishing a long and traumatic Architecture degree at Cambridge University, I vowed never to work in the industry again.  My first task in the studio, however, was to design the station roof and columns, and to provide general advice to the rest of the team on all things architectural!  Being British, and naturally strongly resistant to change, I was slightly thrown when I realised the team was working with up to the minute svn builds of Blender.  Back home in my own work I’d been hanging on to the 2.49 vintage with its historical interface not unlike the quirky 400 year old tumbledown cottage I lived in at uni.  2.5 comes with its own breed of glossy newness, an impersonal homogeneity with other 3D apps akin to the monotony of the skyscrapers in downtown LA and a feature set which sprawls on and on like the city-edge of Phoenix, Arizona.

Bewildered at first, I was tempted away from the path of the righteous by the glowing red devil’s tail of Maya on one side and the swirling captivating vortex of 3DS on the other, but eventually I found my way through the valley of darkness.  I still miss many of the 2.49 features which haven’t yet been ported – skinning loops and multi-knife-cuts to name a few, and in my first few days I’ve spent a considerable amount of time filing bug reports, hopefully for the greater good.

There are still some very simple features I wish had been integrated into the new release.  As what Pirsig might call a ‘mechanic of the photographic mind school’, all of my previous organisation and labelling systems have been tainted with a certain amount of… dyslexic logic.  To make life easier for everyone else on the project I have to name every object, bone, group and file according to a strictly prescribed style, not least so our python automation knows what’s going on!  While I don’t mind accumulating road miles on my way to and from Amherst every day, I hate the unnecessary mouse miles blender’s UI demands.  I’ve illustrated one of the key issues (which could be solved by a simple hotkey and under-mouse-dialog) using an analogy that will be familiar even to non-blender users.

After breaking free from summers spent as a CAD-monkey in local architecture firms, I now find myself pining for the logical and consistent snapping and tracking systems I was so familiar with from hours spent in front of Rhino, Vectorworks, AutoCAD and the like.  At least the resulting ‘errors’ present in my incapable use of Blender’s snaps often results in a more derelict and aged look!  Here’s a work-in-progress snapshot of the interior of the train which I’ve been working on today, by virtually bashing it up:

That’s all for now,

Josh

3 Comments more...

Useful Arts

by fateh on Jul.07, 2010

At the Libre Planet conference in Boston/Cambridge earlier this year, we saw the premiere of Patent Absurdity, a great new documentary on patent issues in software. The film offers a succinct account of the risk to culture posed by Intellectual Property law’s recent metastasis. And– it has animation done in Blender by pal, Chris Webber. You can watch it here.

1 Comment 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...

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...

Plumiferos in the Tube !

by malefico on Feb.17, 2010

Hey this is malefico writing.

Bassam kindly invited me to write something about Plumiferos’ release happening this week. It might sound strange to read something about Plumiferos here but in fact it is not.

Some of us in the team, Bassam, Juan Angel and myself were part of the biggest film project done in Blender so far, and here’s the good news: it is finished. And it is showing in the theaters in Argentina as you read. The first Blender made feature film. Ever.

We are very proud of have been part of it :)

It was because of Plumiferos that I met Bassam, Juan and other wonderful people like Andy and VenomGFX. And for that I’m certainly grateful and happy.

Here’s Juan Angel writing…

I agree with Malefico, about learning from it… The best part of it, instead the experience, the learning (technical and human), and getting new knowledge and skills…

But the best part, as the Plumifero’s director (Daniel De Felippo) told me… was knowing those couple of amazing people… Malefico, Pico, Ivan, Diego, VenomGFX, Bassam!, Andy!, Daniel… and some others too…

Cheers… and some hugs… and here some pics !

3 Comments :, , , , more...

blender 2.4 vs. 2.5: Round 1

by bassam on Nov.09, 2009

I mentioned we were contemplating a switch to 2.5 ( we are experimentally using 2.5 right now with minor ‘dips’ back in 2.49) in a previous post. We thought it would be fun to show some of our ‘versus’ tests until we stick with one or the other. First up: Bump mapping. We used the exact same .blend file in both versions, no cheating.

The .blend is here

8 Comments more...

Making of Suzanne Festival Intro and Interstitials

by bassam on Nov.07, 2009

Genesis
Having volunteered to organize the submissions and jury selection for the Suzanne Awards at the 2009 Blender conference, I felt that the awards would be ‘naked’ without at least a short intro animation and some interstitial title holders between the entries. This had to wait though, since in addition to Tube I had to finish a job for a client. My initial concept was to do a short intro of paning shots against an industrial background, and then do a series of short 10 second shots for the interstitials, each one ‘discovering’ an unlikely critter or group of creatures living in between the wires, tubes and mechanisms.

Concepts
Fast forward to two weeks before the conference- I’ve muddled through accepting submissions, arranging them, and getting them to the judges- albiet a little late. The judges are still not ready to vote, but I’ve finally got the free time to make and direct the intro. To this purpose I recruited three people from the tube team, Kursad Karatas (modelling/animation/concept) ,Jarred De Beer (Modelling/Texturing) and of course Jan Morgenstern (music composition and sound). I appropriated some of the props from tube and created a new project svn, with a slightly nasty directory layout intended to work with farmerjoe if needed. Our concept ‘techno-mess set with critters’ was an ok starting point. Kursad found some nice reference from 12 monkeys, and the idea of using screens with actual video on them was born. The appeal here was that the video would be faster to get into shots than animated critters, and that it could provide narrative/motion interest to otherwise static shots.
We set out at a relatively sane pace, getting elements in, honing the concept, slowly assembling the shots. Our initial concept (without the TVs) called for lots of little critters living in the technomess, revealed in some sort of nature-show documentary style. I made some concepts that focused on keeping the animations really simple (plant inspired critters) and Kursad added a few color/animalistic concepts to the mix. We worked in mypaint, using mypaint’s ‘infinite canvas’ feature to add and add, resulting in a document that was over 7k pixels wide. Here’s some scaled and cut up images from the concept document:


Before laying out the shots, I went (again in mypaint) and made some really rough sketches to get a basic concept/storyboard going. The idea here was to create a rough skeleton so I could communicate to the rest of the team where the whole thing was headed. I also wanted Jan to have something to look at to help him plan the soundscape, since he was going to have very little time to compose the music for the piece.

Building Assets
After the intial creature concepts were made and we came up with the idea of the televisions, we decided to keep blender-y things the TV screens. The idea was to have a progression: closeups of eyes (seeing), then hands (doing), hands on keyboards/mouses, blender screenshots, and finally clips from the movies themselves. For the interstitials, we would just have the title and creator of each movie on screen, with various critters on the set watching it, or just existing. Kursad, Jarred and I got down to brass tacks in blender, and we populated our SVN tree with sets, props, and creatures.

At this point our pace was still fairly sane, and as the asset-bucket filled up, we could specialize: Jarred focused on texturing the sets, Kursad went from modelling to animation, and after modelling I spent time on rigging and building the shots.
A fun aspect of this project was the 2D assets. Initially I would stalk and corner people I knew into being camera subjects, but then I asked one of the animators who haunts the ‘drome if she would borrow my camera and do more. She got me about 3 times the amount of footage I needed in one night.
distress
The problem with the video was that it was too clean and friendly, not the nasty grungy look I wanted for the movie. We fixed that by creating a comp in blender and ladling in noise, grunge, vignette, horrible color distortion, lens distortion, chromatic abberation.. and degradation via blurring and sharpening.

Get the Flash Player to see this content.

Needless to say, having a bunch of video textures in our svn quickly made it huge, and I still had the headache of how to add a different image to each screen in a controlable, linkable way.

The Final Countdown
All this work took us to two days before the conference, the day I was supposed to get on a plane and go to Amsterdam. I simplified the intro down to just four shots, and decided we would make only one interstitial video, and only vary the text for each film. Before I left, we all updated our SVN folders, and I told Kursad and Jarred to only touch shots one and three, while I would work on shot seven and eight (numbering correct). That way, I could work on my shots during the flight and not clobber anyone else’s work. Between airport stays and having two batteries on the flight, I managed to get about eight hours of work in on the flight over, a record for me. I solved the problem of getting the video on the screens; all the screens are the same, and I used a combination of object ID, UV distortion node, and renderlayers to map a different image to each screen.node_2
The grungifying and embedding of the real videos inspired using the tv’s as a device to transition the shots; instead of dissolving from pan to pan, I would go ‘through’ the TV image. In addition, I could grungify the 3D work as well, and get some of the blenderwork ‘on tv’ in addition to the video.
After arrival in Amsterdam I went to the Blender Institute where I was joined by Pablo Vasquez (venomgfx). He volunteered to help, and we spent a day and (almost) sleepless night finishing up the comps, getting all the elements into the shots, rendering, adding titles, etc. Somewhere in there Pablo managed to put together the interstitial shot.
In the meantime, Jan lost most of his harddisk in a backup-gone-wrong incident, and we thought that this would be an excersize in silent film. Luckily, he used a backup tool, spent 20 hours cursing, and actually got back his data. I sent him half rendered/half OGL versions of the teaser, and he got us back a music track just one day before the festival.
In the final few hours we finished up our renders, clumsilly comped over render errors we had no time to fix, spit out all the different text interstitials, and assembled all the movies and the intro into a giant playlist. I quickly shoved my laptop in my bag, and made my was as fast as I could from the institute to the conference. I arrived exactly two minutes before the festival schedule, and I believe we started the movie about 10 minutes late.

Liftoff!
So, here’s the video that played at the festival. I’ve spliced together the intro, one of the interstitials, and the final credits screen. It would be pretty cool if we could find a way (vimeo? youtube?) to make a playlist of the entire show. If anyone has a suggestion as to how, let me know in the comments. In the meantime, enjoy the video:

Get the Flash Player to see this content.

AfterGripes
We didn’t have time to render at HD, and didn’t have time to include many assets and narrative elements that were intended to make the viewing a little more layered and satisfying. Kursad made quite a few more animations than were shown, and there were even critters made by Kursad, myself, and Chris Webber that never made it into rigging and animation; one of the critters was supposed to be riding the camera in the scene, and get viewed over close-circuit TV. In addition, some comping and rendering errors crept in that we didn’t have time to fully fix.
Nonetheless, I’m pretty happy with how far we got in such a short time, and the cutting, though painful, was needed to get the thing done in time for the conference. Next time we’ll take one more week ;)

12 Comments more...

On switching to 2.5, spline IK and a new download.

by bassam on Nov.02, 2009

I’m in the middle of considering whether switching tube to 2.5 is a good idea or a terrible one; on the one hand, there are many goodies there that would make our lives much, much easier, and more planned on the durian timeline; tops on my list are the new animation system, impoved python api, and the planned improvments to the library/linking/proxies system, and later down the line, all the render improvements and speedups.

On the other hand, Blender 2.5 simply isn’t ready at this point in time for a production this size; too many things aren’t done (even in the above list) and even some 2.49 stuff still isn’t ported. In addition, there are crashes, hangs, segfaults, you name it… not a safe thing at all. In order to make this transition make sense, we have to commit to a ‘durian +1′ schedule: that is: take Durian’s schedule and add one month.
Benefits of this is I really don’t have much scheduling to do! i’d take advantage of Ton’s excellent organizational abilities, in addition to his (and the rest of the team’s) new code. Downside is that Durian is a bigger project, and I don’t think I need the entire production time of Durian to finish tube… we’ll see.

To make things even harder, Aligorith (Joshua) has just added a great new feature on the durian wishlist.. spline IK.. making it even more tempting.

Jamal and I have made builds on our machines with the new spline IK in them. Be aware that Jamal switched his 2.5 build to use the new cocoa port to 64 bit, so he’s making (lets see if I get it right) a universal binary which will use 64 bits on 64 bit machines. Both are available in the downloads section of this site.

7 Comments more...