Is it even possible? To have a keyframe where a charater’s arm is suddenly bent in the opposite direction of the action. In Maya, IK handles don’t let the joint bend at all without flipping. Is there an IK solution that does make successive joint breaking possible?
You might be able to fake it by animating the preferred angle - although you’ll have to spoof the position of the end effector as you approach hyperextension - otherwise you’ll end up have problems managing the transition from one arc to the other.
I think a better way to think about it would be to provide an IK posing tool to make it easy on animators creating the poses, but keep the animation in FK. Richard-Williams-style breaks are fundamentally a whip motion, so they are better represented as rotational animation.
This is often a misunderstanding of the breaking of joints RW talks about, it is a flip over of the elbow, don’t confuse the feeling /display/visual look of what is happening with the elbow in the 2d with what you can get with the arm…
File:Baseball pitching motion 2004.jpg - Wikipedia the “break” happens as the shoulder rolls over and flips the elbow.
If you really want to break the arm then you just should FK it but
I half-agree… Sometimes in cartoony animation, it’s still useful to be able to more literally break the elbow to achieve poses outside the realm of physiques, especially in fast motion or when faking smear frames.
It’s pretty simple to do exactly what you’re describing by riding two stretchy IK chains on top of the normal IK or FK arm. Assuming you’ve got an FK / IK blendable chain that constrains what I’ll call a CON chain (shoulder -> elbow -> wrist):
- Create a second CON chain by duping off the first, and renaming it with a new prefix.
- Create single chain IK from the shoulder to the elbow, and again from the elbow to the wrist.
- Add parent groups to the ik Handles, and parent constrain them to their respective CON joints. Parent the ik handle groups outside of all hierarchies, and for the love of Pete do NOT scale them or parent them into hierarchies that get scaled!
- Add stretch in one of the normal ways, but do it per bone (IE, if your joints are oriented with X down, scale the TX value by the current length / original length).
- Add controls that constrain the shoulder, the elbow, and the wrist. Zero and parent constrain these to the CON joints as well.
You end up with stretchy controls that follow the FK and IK chain, since they’re being driven by the CON joints, but you also get a second set of controls that allow you to pull off of that chain at any point. The use of single chain IK means you don’t need pole vectors, but you still get the nice orientations and twisting you expect.
If you want to fix the odd deformations you’re bound to get you’ll need to add extra joints around the bend and weight to them. They’ll need to travel lengthwise between the shoulder / elbow and elbow / wrist joints proportionally, so add that into your stretch setup. In simple setups, you can get away with a helper joint that sits at about 80 or 90% of the distance (so, the elbow helper will be “parented” to the shoulder, but its TX will be 0.8 * the TX of the elbow joint).
I hope that helps-- if you have any specific questions I’m around.
yes to the last post, 3rd layer is common for cartoon rigs, works fine to do the “breaking” action, The reason I don’t like people defaulting to breaking the arm like that is because it there is a way with zero extra rigging to just animate the feel of the action vs. literally breaking the arm that is easy to draw in 2d but over used and misunderstood in 3d.