For character animation, move the master bone or the entire rig?

This is probably an incredibly dumb question, but what is the standard way of moving a rigged character in CG animation?

Is it…

a) Leave the character rig at a particular location with a particular rotation, but use the rig’s master bone to move/rotate the character in the scene while the rig does its walk/run cycles

or

b) Move/rotate the character rig itself (avoiding the rig’s master bone for the most part) while the rig does the walk/run cycles (essentially walking/running “in place”)?

If neither way is the “standard” way of doing things, what are the pros and cons of either approach?

You talking about walk cycles right? There is not really a rule.

If you have to do a long walk it might be best to animate a 2 step cycle in place and move the root bone to go foreward. This works very well if your character walks in a straight line. If he got to walk in arks or slalom this might be a bit more complicated as you have to account for food slidings.

If you just have to do just a couple of steps (1 to 3) i would animate it manually without moving the root bone,

Clearly the master bone alternative in my opinion.
A character rig is designed to be the interface to that character’s features, and in Blender that refers to an armature’s pose mode. You can expect the rigger to have invested some thinking into making it suitable and consistent, so best rely on that and use the controls offered by that rig. Usually the root bone even has a shape hinting its purpose, and that’s placing the character in the scene or moving it around. If you stick to that, your keyframed positions will be part of the respective armature action, neatly grouped together with other keyframes on armature bones, whereas keyframes on the rig object will end up in a separate action - hard to maintain on your end.
Bypassing the rig’s designated control interface on the other hand may break the character.
For instance you can’t be sure all the internal parts of a character or prop are parented to the rig on object level, some might only be using armature modifiers or being children of armature bones, and in both cases those objects won’t follow your rig.

Btw, the best place for a character+rig to appear in a scene IMO is (0,0,0), for that very reason. All the placement is done by the respective root bone, all the keyframes indicating proper location, rotation and scaling are at proper places where everyone can find them on first sight: in pose mode rig actions.

1 Like

In Blender and in CGI in general, what you see is not necessarily what it is ( a dog can looks like a cat - as a character origin is not necessarily somewhere in the mesh)

my answer :
–> you may want to leave your armature at 0,0,0 and move your ‘root bone’ (the bone between the feet and which has for a child the “hip bone” ).

You need to keep the armature at 0,0,0 because all your animation will be built with that localization as a reference to all other objects of the map (including other characters) which will also share that same 0,0,0 origin

So,

  • armature object set at 0,0,0 : reference position of the character on the map
  • root bone : (x,y,z ) of the mesh on the map (origin of the mesh) typically in an idle state
  • hip bone : position (x’,y’,z) of the character when going fourth and back, jump and land …

Example : your import an armature - as an object - set its origin at 0,0,0 , then keyframe the “root bone” to indicate the x,y,z evolution of the position of your character on the map regarding the time , then finally use a looping Walk animation in which the “root bone” doesn’t move at all.

1 Like

You’re right, and that’s a great reason to use the master bone to move/rotate the character. Thanks for the response!

I’m bumping this topic three months later because I’m now trying to implement this for real and need some practical advice.

After a lot of trial and error regarding rigging, I’ve settled on the Rigify system of rigging a character. I’ve got that part of the equation nailed and am very pleased with the results. Now I want to do a test animation with a Rigify character – specifically, a character whose rig was created with Rigify’s Human meta-rig.

I want to make the character walk from one side of the screen to the other, but not using a repeating walk cycle. I want to animate it the whole way through. The character’s root bone is at 0,0,0. Everything is good so far. Based on the responses earlier in this thread, I assume I want to leave the root where it is and then move the character separately.

But now that I look at the Rigify rig…there doesn’t appear to be a “master bone”. I mean, there is the root bone, but I have it sitting at 0,0,0. It seems like a very big hassle to individually move/rotate all of the relevant bones to get the entire character into the desired starting position.

What is the standard way of handling this with a Rigify rig?

Is there a bone I’m overlooking that acts as a “master bone” and I leave the root where it is? Do I leave the root where it is and manually move/rotate a certain set of bones to get my character to the desired starting position? (If so, what bones are they?) Do I make an empty, set it at 0,0,0, parent the root bone to it, and then move the root bone to my starting position?

Thanks in advance for any insights you can provide.

Actually, I may have just figured this out…correct me if I’m wrong.

  • Switch the hands to FK (they are set to IK by default after you rig something).
  • Rotate the Torso bone however you need to rotate it. Assuming you want the feet to be IK (and I do), rotate/move those as needed.
  • Select the IK feet and the Torso bone. Move them to the location where you need to start the character.