I'm trying to animate a leg swing with quaternion bone FK. There are two frames in particular (denoted 6 and 12 in the bottom of the gif below) where the resulting motion of the left (front) leg is not as desired: the limb chain overshoots in a small arc.
The culprit seems to be the contribution of the thigh. All the f-curves all seem fine- the xyz quaternion values aren't shooting off to greater values than anticipated, or anything. I haven't included the previous frames in the gif, but rest assured they're not in a position that would make this arc intuitive, obviously.
And adding keyframes doesn't exactly seem to work, either. It seems that this overshoot is just a property of those particular quaternion values, for whatever reason.
I'm using Blender, if that's of any help, but this doesn't seem application-specific so much as just a property of rotation math. Is there a name for this behavior, or some common workarounds for it?
Note that the use of IK is not a valid answer in my particular case.
Replies
https://paulneale.com/quaternions/
Are you sure you're using Quats?
You can try the motion paths tool to see if there's any bones causing this: https://docs.blender.org/manual/en/latest/animation/motion_paths.html
- Motion pathing has confirmed that the thigh, specifically, is moving in that undesired arc.
- The thigh is using quaternion mode- I just neglected to list the W component in the post.
Any possible workarounds for this? I don't really know where I'd begin.Haven't solved this yet as such, but it's a much clearer problem definition. I think more key frames are going to help now, as I have a better sense of where to put them.
Rigify has switches so you can alternate between the two modes on adjacent frames.
I see that my post said that "use of FK" wasn't a valid answer, but it should have said "IK".
I suspect FK might be cheaper to run in-engine, but I'm not really sure if that's true or by how much. Probably easier to set up in-engine, too.