I caught the problem in understanding similar to one of the previous questions but with slightly different angle: why can't we make [bone_def] Stretch to [bone_out] if [bone_out] still follows the transforms of [TOP] control (and animators will be using only TOP as I understand) > and after all we'll get the same result? What am I missing?
Sorry, deleted my last response, because I noticed that this is using bendy bones. To answer your quest yes you can use the out bone, but you have to kill it's parent or parent it to the root bone. It can't be parented to the def bone. The other side effect will be that the top bones axis is not aligned to the world axis. This makes animating a little more difficult. Also it's common to separate Deformation, mechanic, and control bones. In this case the in and out bones are mechanic bones. Blender treats all bones the same, but some software treat them differently. So, Riggers get in the habit of separating them.
Hi Marfa,
Dwayne is correct in the above response.
The important thing is that the target of the constraint cannot be a child of the owner of the constraint.
It's kind of like trying to take your socks off when you're still wearing your shoes. You can kind of do it, but something's gonna break.
So to avoid this, the target (the _out bone) will need to be parented to the Top control. And the stretchy bone must have the handle_out manually set to the this _out bone.
In that case - the result will be the same.
Don't forget there are many different solutions that will do the same thing.
What's the best? The easiest/fastest way that is consistent where the same problem exists (there's way less cognitive load that way)