Thoughts on Puppeteering in Blender

Okay, so I’m super-excited about a practical upshot of the way the animation system in 2.5 works and that’s how much easier basic puppetry is. For example, if you put a slider on a character’s mouth that controls two shape keys for open/close and wide/narrow, you can start the animation, turn on keyframe recording, and, egad sir, just drag the mouse to animate. With this and a trick where I slow down the audio while doing the puppet work, I did this VERY quickly:

This alone is cause for some celebration, especially when you realize just about everything can be animated in exactly the same way, each bone on its own pass. A couple of problems arise though, and I think there are some fairly simple scripts that could really supercharge this technique:

  • Some kind of joystick-to-keyframe dropper that runs in “realtime” (very new to BPY scripting, hoping scripts can work like that)
  • A way to quickly assign shape keys to bone transform channels, or just directly drive shape keys assuming they have drivers.
  • “walk” bones around in ways similar to BGE with joystick (avoiding BGE in this because for this it’s a bit of a battleship duck hunt)
  • a really nastily aggressive f-curve simplifier to aid in keeping very long animations reasonable in size and speed. (puppetry generates an average of 1 keyframe every 1.3 frames, which can get bad with many bones and large time scales)

An animator armed with these tools could really crank out animations quickly, and while you could argue that there are limits to how quickly good animation can be done, I think a good puppetry toolset could make it possible to get a lot of quantity without spending aeons dragging sliders and scrubbing audio.

Interesting thoughts. Maybe i will do some r&d about it,without promise though. Would be cool to have.

Yeah been looking at this too after applying the mouth rig posted by Cessan http://blenderartists.org/forum/showthread.php?t=201712&highlight=mouth+rig to my character i found myself sitting and scrubbing the mouth open property assigned to the jawbone of the rig over the top of the already keyframed chew animation.

You can use the clean operator on the scrubbed fcurve to produce less keyframes… change the threshold property to make it more “aggressive”.

Loolarge: I’ll be poking at it from time to time too, the good news is that many of the little things that’d make puppetry better are also nice things to have for other reasons.

batFinger: Hey, awesome, that does work, although I can’t figure out how to get a toolshelf to show up in the f-curve window, causing me to peel over a 3D view just for that. Perhaps the power of the toolshelf was underestimated: I’d like to be able to have them everywhere!