Sintel Face Rig (Yet Again!) and Neck
on March 4th, 2010, by nathanI know you all are probably sick of my posts. Rigging is so boring, after all. No one wants to hear me talk about it. So I’ll keep this short.
(I’m being sarcastic!)
First, here is the final Sintel face rig:
face_rig_final.ogv
I’m not particularly happy with the control scheme. It can be pretty clunky. But it’s fast to hook up, and very general (it’s got us covered for pretty much anything we might throw at it). And that’s why we went with it.
The basic idea is that there are controls on the rig that, when selected, bring up sliders in the n-panel relevant to that part of the face. Most of the controls themselves don’t do anything, they just act as access points for the sliders. This keeps things reasonably organized, and at least somewhat visually related to the face. But it also makes manipulating the face a two-step process, and you can’t slide multiple sliders at once. So there are definite drawbacks.
(And yes, her eyes are crazy yellow! Bwa ha ha ha! Actually, I’m just messing with the other animators by changing the proxy eye color every day. Tee hee. So if the eye animation in Sintel sucks, you can blame me.)
On another topic, we also have a new neck rig:
neck_rig_01.ogv
The deformations in this video aren’t so great for demonstrating the rig (it’s not the final weighting, and there are some obvious issues with it). I might make another video later to demo it a bit better. But the basic idea is that we now have separate controls for the neck and the head which can be rotated independently, and the actual neck bones maintain a smooth and plausible curve to accommodate the rotations of both controls. At least, as smooth and plausible as possible given the rotations.
Previously we only had a single control, which was clearly not enough to specify the range of poses that the human head and neck can be in.
βNathan
EDIT:
By popular request, the face rig:
sintel_face_rig.blend
The inside mouth is not yet complete (which is why it doesn’t match up with the mouth shape keys).
March 4th, 2010 at 6:05 pm
I’ll have nightmares with the second video hehe
Well done Nathan!!
March 4th, 2010 at 6:19 pm
Nice looking rigs!!!!
Can’t wait to seem Sintel in action!!
March 4th, 2010 at 6:40 pm
Hello Nathan,
the face deformations look really great. I am really sad that only-bones face rig had to give way to shape keys. Along rigify I was hoping for some kind of Blender Face Robot facial deformation solution π
I am really curious how this control system will prove during the animation pipeline. It is very hard to guess what is better and faster. On face controlers or facial diagrams are great for fast visual represenation and fast acces. On the other hand the N-panel sliders are really organised and more suitable when you animate face which for example far away.
I would choose the solution which need less clicks by the animator π
March 4th, 2010 at 6:41 pm
Beautiful work!
I’m just starting to mess around with bone-driven animation sliders in 2.49 for my first rig, so a lot of this looks beyond me, but I’m already seeing a couple interesting ideas to incorporate. Thanks!
March 4th, 2010 at 7:07 pm
Beautiful work! I like an incredible lot the expression Sintel can convey π
… and Nathan, you should be a fun guy to work with, the high spirit should not miss there… ehhe eh eehh!! π π π
March 4th, 2010 at 7:12 pm
Stunning work Nathan, IMO you’re a rigging virtuoso. I enjoy watching the vids when you post them, pleas post more soon. π
***********
Quick question regarding your statement : “you canβt slide multiple sliders at once”
Do you know if that Is that a python specific issue? Or perhaps it is an issue that is due to blender 2.5’s implementation of python?
For a 2.5 rig I’m working on, I would really like to set multiple sliders on a rig to data coming from multiple external inputs(ie realtime facial rig, mocap, bge). Sounds like this may not be possible if you are running into this already; though I’m aware the PyAPI isn’t finalized yet in 2.5. Thanks for any insight you can offer.
March 4th, 2010 at 7:51 pm
looks great
a sily question, how do you do to put the controls on the side panel??
will it be some kind of “idiot proof” simple tutorial on the durian dvd about this?
March 4th, 2010 at 7:54 pm
@Nathan: How much would you give Blender’s rigging system out of 10?
March 4th, 2010 at 7:56 pm
“So if the eye animation in Sintel sucks, you can blame me.”
Roger, willco. Rig is looking really efficient. Good job.
March 4th, 2010 at 8:13 pm
Looking at those second level srollbars.
It would be quite fast to bring make a new UI concept to blender. Something which works like this:
1. hold down a keyboard key
2. blender pops up a scrollbar under the mouse
3. adjust the scrollbar
4. release the keyboard key
So that you could click on mouth, depress [1] or whatever and its first scrollbar would activate just under the mouse.
Would make it fast again.
March 4th, 2010 at 8:16 pm
Sorry for second-posting: mind started racing:
A responsive “secondary popup” hotkey could also bring the whole panel under your mouse. So that while you hold it, some secondary options appear under your mouse to work with.
March 4th, 2010 at 8:35 pm
Wouldn’t it be possible to code a feature to define some objects as “controller only” objects and as soon as you select it and press the G key you won’t move the object but are grabbing it’s slider instead? (And you could press “G, 2”, “G, 3” etc. for the second and the third slider etc.)
Not sure if that would be easy to implement into Blender, but it would make these things much quicker, I think.
March 4th, 2010 at 9:00 pm
If you move hinge sliders, do the controls stay in the same place?(seamless space switching) Or do you have to make sure they match when animating?
March 4th, 2010 at 10:02 pm
Can we finally have a copy of the blend?
March 4th, 2010 at 10:05 pm
Great job!
At the end of the first video, she looked like she’d been holding her breath for ages and was about to pass out. hahaha
March 4th, 2010 at 10:34 pm
I would also like to know an answer to the “you canβt slide multiple sliders at once”
Would it be impossible to implement such a feature to Blender?
Thank you
Awesome work π
March 4th, 2010 at 10:47 pm
Lots of cool stuff! I have done a bit of face “rigging” for animators at work and in general I don’t understand the desire to make controls/sliders/widgets/etc. that are disconnected from the thing you are animating. I’ve seen plenty of facial rigs in Blender that have the controls directly on the face even when using blend shape setups. (If I remember correctly this is what the Peach rigs were like…) These seem far more intuitive than using sliders in some removed GUI. For our current game I rigged the faces with a simple, direct deformation bone controls and I’ve had a number of animators saying how great and intuitive it was. I’m not tooting my own horn here cuz I wouldn’t even classify what I did as “rigging”. Compared to the complex stuff that you are doing its nothing. I just wanted to point out an example of where less is more was what worked for the animators. What are your thoughts?
March 4th, 2010 at 10:56 pm
nice rigs/shape keys π
March 4th, 2010 at 11:46 pm
“It’s boring Nathan”, said the monkey π
———
2010: The year of Durian
March 4th, 2010 at 11:54 pm
Yeah, I was intrigued by the bone-driven shape key rig you demonstrated earlier, but I guess this method gives you the most flexibility and control.
March 5th, 2010 at 1:31 am
Can you control the tip of the nose? It gets pulled down on certain mouth shapes like when you pout. It can be subtle though.
Also are there controls for muscles at the temples?
March 5th, 2010 at 1:42 am
This is amazing!!!
I’ve nevere use the rigging tool in blender (i’m a begginer) and your work Nathan is awsome for me. Maybe in the future if you want you can make a little tutorial about your tecnics and your personal way to approach the rig.
Compliments again!
Greetings from Italy
-Alessandro-
March 5th, 2010 at 2:23 am
I hope improvement on Blender will happen for controlling shape keys like this in the future. π
March 5th, 2010 at 5:32 am
Toss a .blend file in there any time you’re worried about it being too boring. π
March 5th, 2010 at 9:46 am
These are nice rig ideas. After being a bit envious that I wasn’t picked from the thousands to join team Durian, it’s because of great work like this that makes me glad I’ve ordered the DVD. Any chance you might pull together some 2.5 centric rigging tutorials?
March 5th, 2010 at 10:31 am
Awesome work!
But I’m also having doubts about moving rig controls from model to sliders. Not only, you can’t grab several sliders at once, but it forces you to switch focus from 3D view to panel and back, all the time, and you loose all tools&controls for 3D object (which are great in Blender).
Of course it could be still great idea, maybe I’m missing the point, but I would use it carefully.
Anyway, great work – again! π
March 5th, 2010 at 10:54 am
Were all insanely fascinated . Keep up amazing work.
March 5th, 2010 at 12:44 pm
@everyone:
Yup, as I said in the post, I have my own reservations about this control scheme. I prefer on-face controls. But given our time constraints, I couldn’t keep investigating how to do that with the number of things we need to control on this face. If I naively slapped on-face controls onto this thing, it would be a confusing mess. I need to investigate this more, and how to use on-face controls on rigs as complex as–or more complex than–this. But I don’t have time on Durian. So I’ll have to save that for another project.
@Blenderificus:
Adjusting multiple sliders at once is not currently possible. I can’t speak for whether that will change or not.
March 5th, 2010 at 1:51 pm
Multiple controls moving at once would be great from a tactile surface! Pushing sliders to generate expressions. Bank them up and tween between them. Cool.
March 5th, 2010 at 3:29 pm
Thanks for the insight into the choice for going the route you went for the facial rig, given the time constraints. It looks like it still does a great job for being basically an “auto rig”. Superb work thus far Nathan.
On the MULTIPLE SLIDER note: This, to me, is a very important feature of a rig/system for realtime interaction with external sliders and mocap/motion tracking inputs from the “real world”. Seems quite a shame that 2.5 doesn’t support this as I know many blender artists/riggers probably just assumed such a feature would be in 2.5, given the robust re-factoring.
I hope the ability to move multiple sliders is added to 2.5 before it goes much further, because controlling a rig, especially a facial rig, with an external device that has multiple sliders(or mocap inputs) is FAR EASIER than using a keyboard and mouse any-day IMO! I hope the devs hear this, as i’m obviously not alone on this issue given the number of comments on this post saying the same thing I am.
March 5th, 2010 at 3:45 pm
Man, seeing this is so inspiring. It’s so tough to keep my focus on game development when I see something like this and think, “Wow, I want to make an animation with a rig like that!”
It may be I am naive in thinking it would not be possible to have game characters have so much expression available and not have it affect game performance, however, as I don’t even know what a shape key is at the moment, lol. Thanks for sharing this. Can’t wait to see the movie! :~)
March 5th, 2010 at 4:06 pm
Awesome!!!
March 5th, 2010 at 5:50 pm
@Blenderificus:
It sounds like you’re talking about two completely different features? Connecting properties to an external device (MIDI perhaps) hasn’t anything to do with tweaking multiple sliders with a mouse.
March 5th, 2010 at 7:05 pm
Hello, not sure to be at the good place to ask to Blender developpers but probably someone else here will be able to reply. Is there another way to mappe curves more easily than this: http://blenderartists.org/forum/showthread.php?t=176788
Thanks a lot
swims
March 5th, 2010 at 7:18 pm
Nathan —
I also like the flexibility of being able to adjust things with the sliders even though it’s not the most convenient thing in the world.
The next step for me is to hook up each of the custom properties you’re currently controlling with an on-screen slider to something like this:
http://www.bhphotovideo.com/c/product/321871-REG/Behringer_BCR2000_B_CONTROL_ROTARY_BCR2000_Controller.html
Hook it up with a Python real-time MIDI interface, and you control your character’s face with a physical dial board. I wonder if someone could scarf a donation of one of these control systems out of a manufacturer for prototyping…
March 5th, 2010 at 7:33 pm
One more thing — as for controlling multiple sliders with a single mouse action, I now that you can “daisy chain” custom properties and drivers. Build individual fine-grained sliders, then ones “on top” of those that drive them. You can still adjust the low-level controls if you want/need to, but can also control them all at once with the “higher level” slider.
March 5th, 2010 at 11:57 pm
@Nathan, I was indeed talking about external MIDI control of multiple properties of a RIG. You just made my day, and a good point as well, how indeed would one control 2 sliders at once, unless you wrote a PyScript to have one slider to that very process. Thanks for clearing things up, I’m sure you’re super swamped with Sintel, really appreciate it. π P.S. I’ve spent many hours studying your rigs, ever since BBB. I respect your work greatly!
March 6th, 2010 at 2:01 am
@Roland:
Interesting idea, regarding MIDI devices for face controls. Campbell talked about this possibility as well.
For me, though, this is the opposite of what I personally want in a face rig. It separates further the controls from the face, whereas I want to bring them closer together. My biggest reservations with the Sintel face rig are with regards to how separated the sliders are from the face itself. I don’t want to push it further in that direction. π
But of course, whatever works for you, go for it. π
For me, the more puppet-like a rig feels (grabbing things and intuitively moving them around as I would objects in the real world) the better. Unfortunately, it is not as obvious how to accomplish that with a face as it might seem at first glance…
March 6th, 2010 at 2:14 am
COOL! π
March 6th, 2010 at 3:06 am
Hey, thanks for putting up the .blend.
Think I finally figured out how the Ui script, custom bone properties and drivers work together from poking around in it…well, enough so I can apply it to my rig.
March 6th, 2010 at 3:20 am
Nathan, you have no idea how cool working with MIDI sliders would be. π It’ll be a bit like the Blender interface: at first, it’s clumsy and you hate it, but then it grows on you and then you’ll have no idea how you could have done without it.
Once your brain gets used to controlling the face through the sliders (it’ll take practice, no doubt), you can almost get to animating in real-time, analogous to animatronic puppetry. Imagine the speed at which facial animation could be done for productions like these by artists skilled at the sliders!
If only Blender were capable of that!
March 6th, 2010 at 3:21 am
Also, thanks so much for letting us have a blend file! π
March 6th, 2010 at 5:31 am
Spot on D!: Animatronic puppetry is exactly how midi control of a facial rig with multiple midi sliders/dials at once feels!!! seriously, if an animator has never used the XY pad, or multiple sliders at once, jim-henson-style, for facial rigs, they’re missing out IMO. Plus with the outboard midi gear to do such a thing being so cheap today, you have to try it to see how fast keyframing for facial(or other)rigs is. to be able to mode 3/4(or more) sliders(bones,etc) at once is mucho powerful!
If you’re on OSX/Win, check out an app called “midi translator pro”. It converts all incoming midi data/value dynamically to anything you want, numerical/alphabetical/conditional/etc. So 2 sliders can each control a bone or slider value, but when you push either or both of those sliders all the way up or down miditranslator pro will then run a condition and trigger another value to be sent(or anything python can control) as well(and on/off 0/1) for example. So just a few sliders/knobs allow for far more control than even the number of sliders/knobs you’re using with conditionals, one slider all the way up, and another all the way down trigger one special script, then the opposite slider arrangement trigger another script, and so on. Blah blah blah
March 6th, 2010 at 2:48 pm
Whoa, the blend file is UP!!! thank you Nathan, cant wait to get into the scripts that put the sliders into the interface π
March 6th, 2010 at 4:41 pm
I’m curious if it would be feasible to add well thought out secondary controls to the main face controls, such as this super dee-luxe version I scribbled out: http://www.pasteall.org/pic/1786 It would keep the mouse in the 3d view and eliminate some of the modality of the current system.
March 6th, 2010 at 11:59 pm
How well does space-switching work? If you move a hinge slider, does the control snap to a different position, or does it correct and stay put? I notice you always move a character to the rest pose before changing the hinge value, but is this a limitation?
March 7th, 2010 at 1:14 am
Roland,
when I was visiting the BI, I tried to convince the team to have Midi input for animation controls; and to be able to use a wiimote as a virtual camera.
Alas noone was receptive to the idea at the time.
March 7th, 2010 at 3:04 am
Is motion capture not easier, what if people gave rigg set ups to help out instead of just modeling things? so there would be more focus on area’s you want to be more liquid.
March 7th, 2010 at 3:52 am
Sintel looks like she’s not eating a lot or perhaps in love with the dragon.
March 7th, 2010 at 3:57 pm
I don’t agree with the idea of MoCap being easier. It requires technology and a place adapted to make the recordings, and then many hours to clean the captured motions… and results are not that grate so you have to animate a bit! I think both approaches are complicated and need a lot of work, and non of them is the “magic bullet”.
March 7th, 2010 at 7:10 pm
@D and LetterRip:
I’m skeptical if a generic midi device would actually be faster or more intuitive to use, but I concede that I have not tried it.
But there are also matters of practicality and portability. I’m not going to design a rig interface around a physical device that most animators (including myself) don’t have. Moreover, MIDI devices vary considerably in how they are designed and laid out (and for good reason) and thus are difficult to target.
Admittedly, it’s not an either/or thing. I could design a rig for both typical input and midi input. But that may necessitate design compromises as well as added complexity to the rig. Not to mention taking more of my time. I’d rather focus on designing rigs that work really well under the circumstances that most animators will use them, rather than designing rigs that work really well for the few animators with midi boards.
As multi-touch becomes more common (and when it makes its way to workstations), that is a direction I would really like to explore, as that seems like it will eventually become quite ubiquitous. But midi, not so much.
March 8th, 2010 at 1:12 am
Will you have the eyelids autotrack the eyes (the so-called “fleshy eyes” rig)? I’ve found it really adds a lot.
March 8th, 2010 at 10:15 am
@joeedh:
We have a rigging wish list, of which that is one of the items, yes. But the wishlist is low priority compared to getting all the rigs finished and animating the movie. π
January 22nd, 2011 at 2:29 pm
NATHAN VEGHDAL!!!!
You are awesome!!!!!!!!
Thank you so much for being an awesome rigger. Without your rigs to tear apart, I would never be as good a rigger as I am now (and thats still nothing compared to you). Thanks for this file, but… Is there any way that you could post the old file? The one with controls directly on the face, with few (none?) sliders?
THANK YOU!!
you are the rigging king.