← All ideas
  • Published 28 Mar 2016

Ability to animate multiple armatures at once

I know this is a fundamental limitation, but it's a big one. Pose mode is its own exclusive little one-at-a-time world. In a Blender scene, I can't even grab two characters and move them together.

For animation production, this is a crippling limitation. An example from Sintel, regarding interaction with a prop: in the opening fight scene, the Guardian character loses his double-bladed staff to Sintel. That is, the staff prop started in the Guardian's possession, and later was wielded by Sintel.

In almost any other tool, transfer of a prop from one character to another would be a non-issue. In Blender, it was a befuddling and technically challenging situation. Who does the weapon belong to? If it's part of the Guardian's rig, there are serious benefits when it comes to animation. But then how does Sintel interact with it? She's got a separate rig! Maybe the staff has to be a separate object? But that seems to introduce cyclic dependencies with the constraints on the rig, since we want it to follow a character's root, but we want the character's hand to be attached to the staff. Hm, maybe we swap out versions depending on the shot?

A counter-example: in my daily Layout work at Pixar, I'm constantly restaging action and moving animated characters, props, cameras and set dressing around - all together . I can move Buzz Lightyear's root and a cube together, and they're treated exactly the same.

In contrast, rigged characters in Blender are fundamentally different to other objects, and have to be moved / treated separately. The current state of affairs can get maddeningly complicated, and I just hope there is some sort of long-term plan to reassess the way this system works.

100%

Development Status: Open

Upvote 5 Downvote 0
colin
28 Mar 2016

6 Comments

AhmetMaya

I wish one more thing for Pose Library: Store multiple armatures poses in a single-pose library.

3dcinetv

Hi @Colin Levy - How has it been going for you with Blender 2.83 and this issue?

aligorith

I agree that handling multi-character interactions with props is an issue that we sorely need to address.

Option 1: Containers

One option I've been toying with is to do something similar to rightclickselect.com/p/general/Rcbbbc/a-container-object-real-grouping-system - basically, per scene, we introduce the ability to have clusters of objects that need to work together and/or be considered a "unit" for organisation/evaluation/editing/etc. purposes.

My original idea on this was that we just add a " GroupInstance " type. These would live on scene level (much like the "Scene Bases" now).

  • Their sole role is to instance a Group and anchor it to the scene. This GroupInstance could then be the host for an AnimData block, allowing the creation of actions which contain the keyframes for all the items involved in that group (e.g. all keyframes/channels for Character 1 & Character 2 & all the props they are sharing/interacting with).
  • This would also be compatible with the new Depsgraph. In fact, it makes its job a bit easier in some regards (i.e. these become user-defined subgraphs that can be handled)
  • In terms of editing, we could then just enter "Pose Mode" on the entire group, and then we can access all the bones across all the various rigs inside the container. (I'm not sure though if we'd do something similar for geometry)?

In any case, the main barriers to this proposal right now are:

  1. Pretty much every Pose Mode tool (and basically all EditMode ones too) all assume that all bones/verts/etc. only come from a single "active" object. That provides a lot of convenience and shortcuts, but is also going to be source of a lot of pain trying to implement this

  2. It's not going to be pretty trying to figure out if the channels for "Arm.L" are for Character 1 vs Character 2 - The FCurves themselves will always be clear, but the problem is with the Action Groups (which we have to be careful with).

Option 2: "Mixins"

Another option that occurred a few weeks ago was to try having the ability to allow pose bones from other armatures to be dynamically "patched in" to another armature (e.g. mainly allowing things like rope rigs to be part of character 1 and character 2's stuff). I haven't really thought through this option too much yet, and it might end up being that we still just need to go back to Option 1.

colin Author

Great to hear from you, Aligorith! Glad you've been puzzling over potential solutions - both approaches are super interesting. A bit of a relief to know that getting the functionality might not require the complete obliteration of the Pose Mode system. (Although of course that's not to say it won't be a hairy problem.)

I'm not sure I can visualize the process, but for what it's worth, from a user's standpoint I'm intrigued by the elegance of Option 2. Seems like with that approach, you might be able to "patch in" other armatures on the fly, without having to pre-select and create a cluster of objects beforehand? But yeah, seems like the basic functionality is certainly more valuable than the elegance of the workflow. I'm excited you think it's even possible!

jason1

Absolutely agree 100%.

Yes, also this issue not only limits experienced users but also people who are completely new to blender or genreal 3D work (e.g. opening a file frome the blender cloud or other source)