"Why did we add the MCH bones?"

I thought this whole thing was pretty neat, so I wanted to talk about it for a sec:

A question I saw, (and had myself), was "why exactly do we need the extra mch bones for the bendy stretchy rig when we already have the top and bottom control bones? Isn't that extra work/overengineering?".

Sooooo let's dig into it!

I toyed around with a bunch of the possible setups to see what would happen, starting with:

Setup 01: Unused MCH bones, tangent handles on the ctrl bones




This was the first thought I would have had. We just set our ctrl bones as the handles and set them to "tangent" as was done in the demo. The problem, kinda obviously, is it's tangent, so this would deform by default into a weird "s" shape.

Of course, the next obvious thought would be "what if we just aligned the handles", which we can, and that leads us to...

Setup 02: Unused MCH bones, tangent handles on realigned ctrl bones



This one is basically the same, except the handles are realigned to make it easier to manage.

The problem here is that we still have to deal with animating these, and their axes are no longer aligned with world space. (Which iunno about you guys, but that's kinda confusing.)

(This is me pulling the "top" control bone along its own y-axis, which in this context matches the global Z axis)

But okay, that gets us something that works. Not great, but it works.

So what about the other handles?

Setup 03: Automatic handles (MCH bones still unused)




This one is described as "uses the connected parent and children to compute the handle".

As you can see, it didn't give a care about my rotation. I don't want to even think about the extra work required to create a rotation handle here. NEXT.

Setup 04: Absolute handles (MCH bones are super lonely now)




This one was a little confusing, but basically it only followed the location of the bottom handle, while following the location and rotation of the top handle. Kinda gets us somewhere, but not super helpful for our use case since we need the bone to follow the bottom handle rotation. (I'm not sure why exactly it has a discrepancy in the behavior, any insight would be nice!)

That leads us to...

Setup 05: Relative handles




This provides a similar result, but also...



We don't have any real control over the rotation, it just computes it for us. Drat.

So with all of that in mind, the setup that got us the closest was tangent handles with realigned control bones.

But we don't want to realign those control bones. We really want something easy to work with for animation.

Hmm. What if we just created a set of bones that helped us maintain that tangent behavior, and then created a separate set of bones that were properly aligned with the world axes to contro-



Ah, well, there it is!

We can add the bones with a tangent, realign them, and then create separate bones to keep animating them from being a hassle!

I'm not sure if this is the exact thought process that went into the setup, but hopefully it helps. Going through it definitely helped me out!

  • 👍
1 love
Reply
  • Dwayne Savage(dillenbata3) replied

    That is exactly right. MCH bones are used in this way a lot. I found your demonstration very informative. 

    1 love
  • Wayne Dixon replied

    Excellent work Tillsie.

    There's so many things to love about this.
    - you had a question (awesome)
    - you dug into to learning the answer on your own, using the knowledge you are acquiring (more awesome)
    - showing others your thinking (insert Vincent McMahon meme here....if I knew how to do that)


    I do want to elaborate on a few points.

    - One of the key points in showing this method is that it works in every situation and any orientation for the CTRL bones.
    Sometimes you can't have them world aligned.  No worries, it still works.
    This is less to think about when you are learning something super complicated like rigging. (Cognitive Load Theory)

    - The `Relative` option is mathematically buggy so you will get unexpected results which makes it unusable.....mmmm maybe I can either fix it for Blender 6.0 or remove it.

    - The Automatic option mentioned above requires a slightly different set up to work.  (this follows my first point above)
    Automatic will use the bones that is it connected to as a parent/child.
    This means the bottom MCH needs to be positioned differently - and the top MCH needs to be a connected child



    It is also possible to use the controls for this method, but as you have learned it does 2 things.
    -The controls NEED to be aligned with the DEF bone (not always possible)
    -The pivot point of the bottom control isn't going to be at the start of the mesh, it's going to be at the head of the CTRL bone. (this is not ideal)

    Hope these ramblings make sense.

    But I'm literally giving you a standing ovation for all the learning and sharing you have done.
    And by literally, I mean 'literally'....not the way these kids use that word to mean 'figuratively'.

    Bravo.

    2 loves
  • Christopher Tiller(unbo) replied

    @Waylow noted, and thank you!

    Out of curiosity, are there frequent situations where it actually does make sense to do an "automatic workflow"? Or is it one of those things where for this particular type of rig that adding the MCH bones is more often a better idea? (Or is it just a preference kind of thing for rigging artists?)

    1 love
  • Wayne Dixon replied
    More good questions.

    You will probably only find your self using the automatic method on a really basic FK chain.
    ie - no fancy features like tweak controls, stretch-to etc.
    Just a chain of bones that you want to be able to bend smoothly.

    The rest will involve MCH bones and tangent (well mostly tangent but not always..let's say 99%)

    2 loves