*EDIT - Breakdown and example file in description
---
Due to a large amount of questions and interest, I did an isolated breakdown of just the arm as it's the same setup used at the leg. The actual steps for creation were a bit more involved, so I decided to host the file trimmed to just that section so you can reverse engineer if you're interested.
(Maya 2014)
3dfiggins.com/correctivejoints/3dFiggins_Corrective_joint_example.zip
---
I've been working up various iterations of these solutions for a while, but I've finally reached a point where all major areas are implemented. The anatomy / skin weighting / etc are still off, but this is more about the system, finesse will come with further refinement and anatomical studies. For the time being, this was to explore how, using as few additional joints as possible, I could remove major limb bend intersections, get a solid squat shape, head look up and internal pixel shift when the limbs are moving, all while being automatable and game ready.
The setup itself is fairly straightforward, the hierarchy is ( Constrain_Grp > SDK_Grp > Offset_Grp > CTRL > Joint ), the joint has translate/rotate/scale open and the SDK is driven by the primary bend joint (elbow, wrist, knee, etc). It's constrained to the nearest joint, typically a twist joint along the limb. The SDK's are created manually since they're fairly model specific, but can be mirrored over so only creating the Left side is needed. The crease areas (inside elbow/knees) are a slight modification by having 3 joints on the inside crease to better push and shape that area of high deformation.
Though not shown in this video, the jaw/throat corrective would work if the character is talking and even even the animator a slight option to look like a swallow or neck tension for a dialog piece. As the throat corrective is driven by the jaw angle in relation to the neck, not just the head.
For the crotch, I found that having an additional control for just the groin helps ease the 'cod piece' look doing sits/squats as painting weights can leave harsh seams in that area. Previously, I'd been spreading too much weight from the legs into the pelvis, which looks better when walking, but had severe volume loss during squats or sitting. When I shifted the weights more the pelvis, harsher lines would show up. You can see a hint of this in the 'duck tail' on the side view of the squat. Clearly that areas would be smooth a bit more during weightings, but with the addition of the bum/bum line/hamstring joints, getting a more robust shape there is more achievable.
Since this is a driven solution, it would be built for rigs where the animation team wants more control over the shapes of the character, to push or exaggerate. Since a character like spider-man is going to hit more extreme poses, or stay in a heavily squatted pose, this setup allows them greater flexibility to sculpt the silhouette of the legs/butt, the down side being more work for them as this means more controls and keys are needed.
A question I'm often asked is why I would go with joints instead of blendshapes. I agree, blend shapes have much better end results, however my skilset is not in modeling, and creating all the additional shapes would be tedious. As this setup can be created via script, and work with my paint weight and mirror weight tools, I find the construction more appealing. Plus, having the additional control allows animators to jiggle, flex, spot fix the areas if needed. Also, since the joints are leaf joints, any asymmetrical scaling in the solution still works for game engines. Lastly, if a corrective shape is needed after this, it's still can be created and only have to fix a much smaller error.
The next phase for this setup will be a stomach/torso pass to help maintain a bit more volume during bends and curls, as well as more work on the inner hip/thigh crease, hopefully exploring how this setup could be applied or worked into my own vimeo.com/295232753