Keeping Actions Synced? Workflow Advice?

After a lot of modelling I’m now getting into the animation part, and I’m wondering the best way to do it. I have a set of armature motions in one Action, and then a set of appropriate facial expressions in another Shape Keys Action, and any time I edit the armature animation, if I move keyframes it now goes out of sync with the shape keys Action, which is getting to be a bit of a pain. Any advice on keeping them synced from experienced animators in terms of method or workflow? I can see this being quite brain-frazzling once there are multiple things going on with different meshes, etc.

If anyone has any tips that will stop me re-inventing the wheel all the time it’ll be much appreciated :slight_smile:

No advice from a long term animator but from an old hand at programming/computer systems analyst, which served me well and hopefully will do the same for you. The best advise I can give you is this:

  1. Plan your work and document all the resources you need for the project, i.e. how many meshes, what rigs, cameras, lighting, material, etc.
  2. Plan and document you workflow, for you this is your “story board” Write it down, draw it out to the frame, i.e. what resources do I need where, for example this character begins to lift his left leg at frame 184.
  3. Execute EXACTLY what you have planned. Do not deviate from the plan unless you redo the plan first.
  4. Do not work from your head - your head is not a precise mechanism for laying out a workflow, you will get confused and you will make mistakes.

Remember “You can only sync things together if you have a plan to start with” There are no shortcuts, there are no easy options, its down to meticulous planning and exact execution of the plan.

This method served me well in my business days, I retired at 46 year old - that’s how good my system was.

Here endeth the switch to Yoda Mode.

Cheers. Clock.

Great advice clockmender!!! Everyone should read and abide by those four points. However… point #4 just doesn’t fit in here.

  1. Do not work from your head - your head is not a precise mechanism for laying out a workflow, you will get confused and you will make mistakes.

That should actually be step zero, but should read: work from your head, your inspiration, your desire and what you want to create. Envision it.

Then yea, include all those other steps, planning, preparation, and all the other stuff that puts artists to sleep and causes them bad dreams.

My only real point here is: if artists thought logically, they’d be computer systems analysts… Artists aren’t logical, they’re creative.

Anyhow. To answer the original question: to keep shape keys and armature actions in sync as you edit you need to be working in the dopesheet editor.

The dopesheet editor has several modes that can be switched. The dopesheet mode shows you everything in the scene, basically. The action editor mode allows you to only work with armature bones. The shape key editor mode allows you to work with shape keys. And there are other modes we don’t need for this. When you are in the dopesheet mode, you should be able to see all keys set in the action editor and the shape key editor together.

If this piece of advice doesn’t help, post up the file and I’ll look at it.


Thanks for both replies. I’d been so carried away learning the Action and Shape Key modes I er kind of forgot the actual dope sheet mode! As to planning, I am not quite sure what I’m doing at the moment, and I am sort of learning what I ought to be doing. For instance, realising that the facial expressions working with posture makes a big difference to the sense of life. It’s a fascinating thing. I figure if I live another 100 years or so I might get the hang of it. :slight_smile:

If you create drivers there is no need to sync shape keys with actions, it will all be in one actions.

@ Randy,

Yes I agree with you that the creative bit should all come from the head and images/thoughts that inspire you. However, I presumed, perhaps wrongly - sorry if I did, that Jaxstraw had already done the creative bit and just wanted help with the procedural bit. So I maintain my point 4, the head is no place for logic and procedure - these belong on the workflow diagram. This, incidentally, is why Alan Turing invented the computer, because human brains don’t do complex logic fast enough or accurately enough in today’s world.

Programmers and Systems Analyst are also creative - don’t be too hard on them, because without their creative flair and knowledge you, my friend (I hope), would not have Blender. Let’s not start a fight between Artists and Programmers or even Musicians and Engineers - ALL are creative in my eyes and all are deserving of equal praise for what they do.

Cheers. Clock.

It was more about keeping everything synced as I tweak. The only way to get an animation right is to move the keyframes around until it looks natural and so on, and I think you’d have to be very experience to get all that planned beforehand in advance. So keeping different objects synchronised as you extend or shorten the animation was the thing really; the dope sheet being the way to do it as revolt_randy said.

If you are animating people, or near human like objects (Computer programmers for example), it is a good idea to video your mate doing the move from two angles, 90 degrees apart and preferably with some bright markers on his/her limb joints. Then you can still frame some shots from the videos and use them as backcloths to get your characters position/timing right. Tedious I know - but it works well. Many animators have obviously never watched real people/animals doing the moves they make their models do…

BTW, I am pleased you have a solution and a better understanding of how to tweak and keep sync. Personally I really like, and use, Koumis’s approach, i.e. use drivers where one objects movements are dependant upon another, that way they stay in sync. I take your point about planning to the Nth degree, but some plan is a good starting point. Remember the more you plan, the shorter time it takes to get the end result, just keep it realistic.

Cheers. Clock.

If I ever get a video camera, and a friend, I’ll give that a go :slight_smile: For now, I’m having to wing it…

The sync I was talking about though wasn’t really times when all actions are literally part of one action and could be put together in a driver. I am experimenting with getting as much verisimilitude as possible by paying attention to facial expressions to avoid the “dead eyed stare” which seems to be quite subtle to get right, so it was more like, if the character walks into frame and smiles on frame 200, if I’ve added 5 frames earlier to the walking bit, making sure they now smile on frame 205, that kind of thing.

As a n00b, there is something a bit magical about this for me, and it was quite striking how they come “alive” once the face starts moving- I had been focussing on trying to learn animating the skeleton and ignoring that, so it was almost like “the lights came on” when I realised what a difference the facial expressions make. But anyway, that’s not a driver thing because it’s asynchronous (or isynchronous?) with the physical actions and I’m sort of handling a big stack of shape keys with, blinks on frame 150-153. grins on 140- 175, and so on. The ease ins and outs have to be at different speeds, and all sorts like that.

When I think of how easy to do all this it is with modern software (grab a keyframe and move it, etc) my respect for the skill of traditional animators working with clay or cels and film cameras is unbounded.

Frame by frame story board - that’s how they did it, just imagine that for “Curse of the Were-Rabbit”, I like you am in awe of such talent.

… Even if “artists aren’t logical, they’re creative” … the simple reality of the situation is that those artists are using a digital computer to implement their “creativity.” Therefore, at the end of the day, “it is the manner-of-thinking of the computer systems analyst that must prevail, if the artist is to achieve any of her aims.”

Because: this is the only approach that “a very-tiny chip, of very-miraculous silicon, can use.

As they said in Aladdin: “phenominal cosmic power … iddy-bitty living space.”

“The digital computer” is “the tool that we must use.” Utterly-powerful though this amazing tool may be, it does have its … “parameters.”

Therefore, both the talents of “the artist(e),” and those of “the computer systems analyst,” are equally required. Neither party can get to where they both wish to go, without the other. “At the end of the day, it’s still just Ones and Zeros.” C’est la guerre …

@ clockmender: good point, sir. You are correct, programmers/analysts are creative. They create the software and part of that process involves finding ways to get the software to do what hasn’t been done before. Dynamic sculpting in blender, the dev read a paper/researched the subject, and was no doubt quite creative in implementing that feature in blender. But there’s a subtle difference between that and an artist with a feeling and a blank canvas. The process is the same, start with a few lines of code/initial brush strokes, step back and look at it. Ok, how to improve it? More brush strokes/lines of code… etc… But I think an artist is more driven by emotions and tend to be less structured than a coder. Just my thoughts. As a side note, I have learned, and forgotten, a few computer languages.

Anyhow, I hope I haven’t offended anyone…

Back to the subject of this thread.

I’m learning animation, on my own, and one piece of advice I picked up early on was to sell the story with the body first. Make the character physically act the part first. Get your timing and motion down first so the character looks like it’s doing whatever it is in real life. Then worry about facial expression & lip sync. This way, when you add emotions, it shouldn’t change how the character acts physically that much. Less work keeping the shape key emotions and the rig actions in time.

The comment about drivers, I think you misunderstood. You can’t drive emotions based on body movement, but you can drive shape keys with bones. This way, you change facial expressions by moving and key framing bones, just like the rest of the body. Keeps all your keys in the action editor, and not in the shape key editor.

When I think of how easy to do all this it is with modern software (grab a keyframe and move it, etc) my respect for the skill of traditional animators working with clay or cels and film cameras is unbounded.

I agree 100% with this! I’m thinking as I learn animation, I would actually like to ‘traditionally’ animate a short clip. I think it would be interesting to see how different it is. That would be 24 hand drawn pictures per second.

That’s alot of work, maybe I won’t do that… hahahaha


Anyhow, I hope I haven’t offended anyone…
You certainly haven’t offended me!

Its strange to reflect that the likes of Isambard Kingdom Brunel, Robert Louis Stevenson, Gotlieb Daimler, Carl Benz, Alec Issigonis, R J Mitchel, Sydney Cam, Frank Whittle, John Logi Baird, Guglielmo Marconi, Henry Cavendish, a thousand other like souls and my absolute hero; Isaac Newton (mainly for his book Principia Mathematica) are not in the Artist bracket at all, yet were probably more creative than most have ever been. I will accept that Leonardo Da Vinci was artist, engineers and certainly creative - there is always one exception to prove a rule teehee.

Just my last two cents on the subject.

On a thread topic note, I think I use drivers mainly because I make mechanical models, and its easy to fix things rotating, reciprocating and generally flying around to an order using drivers, rather than trying to keyframe everything in sync. This is damn near impossible with an epicyclic gear train for example - you would get gears mashing not meshing all over the place without drivers, same goes for engine valve gear when you vary the engine speed in your animation. As you have probably guessed I don’t do a lot of “Figure” modelling - perhaps I should start - hmmmm where’s my pictures of Judy Geeson…

Cheers. Clock.

On bones driving expressions, I think that would just end me with a very big mass of bones cluttering things up. Having the shape keys in a seperate view currently seems better to me.

I still can’t figure out how to make things rotate yet, Clock, rather than snap back when they get most of the way around the rotation. It’s something I keep meaning to ask about.

Key framing rotations of bones over 360 degrees does not work reliably! Especially if you key frame say 90 degree increments, then copy your first frame to be the last one - the little blighter will snap back the wrong way. I gave up on this approach, sometimes you can type values in the transform box and keyframe these, but you must increase the value all the time, so the sequencer might be 100, 200, 300, 400, 500, etc. making sure you never use multiples of 360, but still the little varmint will snap back occasionally.

Drivers are the answer, just insert a single driver on the rotation axis transform box, go the Graph Editor, select Driver Mode and then (You may have to press N to see the expressions menu):

  1. To make a bone rotate all the time, use a sScripted Expression of say (frame * pi) / 10 this will cause the bone to rotate a complete revolution every 20 frames.

  2. To do the same but have the bone at rest in frame 1 the expression would be ((frame - 1) * pi ) / 10.

  3. To control the speed and direction of rotation, add an Empty at Z = 0, X and Y anywhere you want. Then add a variable to your expression, this being the Empty as the target - Transform Channel - Z location.

Your expression will then be ((frame - 1) * pi * var) / 10

The bone will now not move if the Empty is at Z = 0, at Z = 1 it will rotate the same speed as before, at Z = 2 twice as fast, etc. At Z = -1 it will rotate the same speed but backwards, and so on. You can of course key frame the position of the empty in your animation.

  1. To make a bone rotate say 2.5 revolutions one way then rotate back 1 revolution, etc. Use the empty as before placed at Z = 0. The variable is the same as above and the scripted expression is (var * pi * 2) When you move the empty to Z = 2.5, the bone will rotate 2.5 turns, When you move it then to Z = 1.5, the bone will rotate back one turn. When you move the Empty back to Z = 0, the bone will rotate 1.5 revolutions back to where it started. You can of course key frame the Empty’s position in your animation.

If your bone is going the wrong way with the expression, simply insert a minus sign immediately in from of one of the bits, e.g. -pi making sure you don’t have a gap. This sir is foolproof and the bones will always behave themselves. Enjoy!

Don’t forget you must have “Auto Run Python Scripts” Checkbox set in User Prefs. And don’t forget that scripted expression turns are in Radian and there are 2 * pi radians in a full circle.

Cheers. Clock.

PS If you struggle with this I will do you a quick blend with some examples in later today.

Try a simple animation with the cookie flex rig, all shapes are bone driven see if that does not solve your problem. In the action editor you can select which bones to view and concentrate on so it doesnt clutter up the screen and slow workflow.

Blend file with some bones in it. Just press play then move the sliders in z axis:

rotating bones.blend (458 KB)

I have left the Graph Editor open, it will show the drivers for the selected bone. If you want to see all the drivers, just hit the little arrow next to the Mode Selector and all will be shown

Enjoy! Clock.

BTW These drivers work the same for empties, meshes, etc.


Could you please tell me what kind of rig/character your using? If it’s your own character, or one you’ve created watching tutorials, that’s fine. But it really sounds to me like you are working with a basic rig.

Reminds me of the first character I created, rigged, and animated, all while following tutorials. It wasn’t very “animator friendly”, but I set off to rule the world with it… but that didn’t work out for me…

I do have a few simple characters, with simple controls, that work well. Let me know if your interested in seeing one.


Thanks revolt_randy, but I have a particular outcome in mind and a simplified character with three potted facial expressions isn’t going to work for me, I think.