Bone custom shapes: 'Override Transform' - Updating it's pivot point after mesh deformation

This discussion/request is in the context of updating the facial rigging workflow in Blender for the upcoming Studio Project: ‘Kid’ Character Asset.
This workflow contains different mesh deformation methods like armature, shapekeys, lattice deforms and others in order to perform believable/flexible facial animation in Blender.

A big component of combining these deformations into a facial rig is using Control Bones to drive the deformations. To avoid the dependency cycle of driving a deformation with a Bone that’s constrained to vertices on that same deformed mesh, we now use ‘Override Transforms’. This is simply a ‘viewport display override’ that updates the visual position/rotation/scale based on the ‘Custom Object selected’ in the Bone Properties/Viewport Display.

IN SHORT: Override Transform doesn’t update Gizmo/Pivot point after additional deformation (in pose mode). It would be great if this actually was the case!

This display option allows us to ‘glue’ bones to a mesh and attach control bones to them, perfectly following any mesh deformations without creating dependency cycles. This is great for facial rigging, where complex skin deformations and the requirement of bones to be visible and following the skin accordingly.

Now the issue with this method though, is the pivot point (and therefore the gizmo) of the Control Bone (in pose mode). When additional deformations are manipulating the mesh, (e.g.: using a lattice or additional shapekeys) the position of the Control Bone will be updated, however the pivot point (and gizmo) will not be updated to it’s evaluated location. Therefore manipulating the Control Bone with it’s Override Transform will be counter intuitive and rather cumbersome, defying the purpose and benefits of the Override Transform functionality.

My request/design proposal would be to calculate the evaluated mesh data when additional deformers are influencing the mesh, therefore updating the Gizmo to it’s evaluated position. This way the animator can rely on the position of their Control Bones, no matter how many deformers are calculated on the mesh.

EDIT: I will add additional video/images soon.

3 Likes