Zam

Hello, I've come across a bad behaviour when working with constraints:

I have a chain of 2 bones that use an IK-constraint. During the animation cycle, I move and scale the parent bone. So far, everything works. Animating an unproportional change in scale for the first bone of the chain makes the bone jump at the transition from the first to the second frame and from the second-to-last to the last, regardless of the transition curve.

If the scale change is proportional, this does not seem to appear. However, the numbers shown for scale are in any case confusing if not faulty, seemingly reflecting the scaling of the parent bone but reverting to the local scale when being clicked in order to put in a numeric value. Especially the second number behaves oddly: Entering i.e. a 0.9 and pressing enter, then clicking again, it's not 0.9 but other values, seemingly random and/or kind of depending on the first number.

PS: The IK is smooth, but it also happens if it is not.
Zam
  • Beiträge: 2

Nate

This is expected IK constraint behavior and a known limitation. It is described here:
Inverse Kinematics - Spine User Guide: Limitations
For 2-bone IK, if the IK mix is greater than zero and the parent IK bone has nonuniform local scale (meaning the X and Y scale have different values), then the child IK bone's local Y will snap to 0. Inheriting nonuniform scale does not trigger this snapping.
Most animation software disallows scaling IK constrained bones entirely because the math quickly becomes very complex. We've gone to great pains to support as much scaling as possible, but in this situation it is not possible to support nonuniform scale on the parent IK bone unless the child bone's local Y is 0. Note it is fine if ascendants of the IK bones are scaled nonuniformly.
Benutzeravatar
Nate

Nate
  • Beiträge: 9284

Zam

I see... thanks!
Zam
  • Beiträge: 2


Zurück zu Bugs