[disclaimer: I use the term "root bone" to refer to the one bone that typically moves the entire rig around but that is itself not a deformation bone, i.e. it is the "ultimate" parent of all other bones - in a Rigify rig this is called "root" but I've also frequently seen this being labelled as "master" in other rigs]
Are there any best practice recommendations/guidelines rgd. root/master bones when characters move through a (non-trivial) scene? So far, I could think of two distinct approaches, each with its own set of pros and cons:
- The root bone is the sole controller of absolute location and (Z-)rotation. This means that for example walking is always animated in-place ("treadmill").
- The root bone only defines a character's initial location/rotation in the scene and is basically not animated at all. Everything is done using the non-root bones.
A possible middle-ground approach would be to keyframe the root bone with constant interpolation from key pose to key pose only, so the character will only temporarily move/rotate away from the root's location/rotation. At each key pose (of the root bone) the other bones will "snap" to the root bone's new location/rotation, maintaining their current location/rotation in World space.
These approaches are of course not mutually exclusive, e.g. you could use the root bone to animate movement through a scene but never touch its rotation.
How would you deal with this, e.g. in the following scenarios:
- character climbing stairs
- character moving through uneven terrain
- character performing a gymnastics routine involving props
- characters physically interacting (using animated Child-of constraints between bones of different characters), especially when this involves characters turning on the spot - think dancing/wrestling
(BTW: Would you ever keyframe the root's rotation other than along the global Z axis?)
What would be a good set of rules to follow here?
As an alternative to concrete answers: Can you point me to any courses/tutorials that cover this? So far I seem to have been using the wrong search terms...
Some of the gotchas I've already encountered:
- Moving a character away from its root bone will make it harder to reset (parts of) a pose (sometimes I want to create a new key pose based on the rest pose rather than relative to the previous one)
- Rotating characters' root bones often seems to have unexpected effects on inter-character Child-of constraints - in one case I ended up having to create distinct contraints for the same bone relationship - one for when the characters are facing each other and another when one has their back turned.