Scaling issue when using the toggle and bake IK/FK #75

Closed
opened 2022-08-23 17:19:26 +02:00 by TogaTenor · 3 comments
TogaTenor commented 2022-08-23 17:19:26 +02:00 (Migrated from gitlab.com)

Using the ik/fk toggle and bake button for the arms doens't introduce a keyframe where it should and introduces scaling artifacts in the affected limb. This doesn't happen when we take care to introduce keyframes to the whole character before and after using the toggle button.snow_v02_scale_issue.blend

Using the ik/fk toggle and bake button for the arms doens't introduce a keyframe where it should and introduces scaling artifacts in the affected limb. This **doesn't** happen when we take care to introduce keyframes to the whole character before and after using the toggle button.[snow_v02_scale_issue.blend](/uploads/0ea0186f25b51a0151e9ae449fd7060d/snow_v02_scale_issue.blend)
gabongnguyen0711 commented 2023-01-09 05:55:09 +01:00 (Migrated from gitlab.com)

Meeting same problem when use sintel to rig. bake IK/FK will scaling IK-Upper_Arm

Meeting same problem when use sintel to rig. bake IK/FK will scaling IK-Upper_Arm
bloopert commented 2023-11-09 00:15:21 +01:00 (Migrated from gitlab.com)

Adding detail to the keyframe part of this:

When using Toggle and Bake IK/FK with Bake Keyframes In Range enabled, and Bake Every Frame disabled:

  • FK to IK (without existing keyframes on IK) Behaves correctly, keyframes are added to IK bones matching FK bones keyframes: FK to IK bake op FK to IK result
  • IK to FK (without existing keyframes on FK) Behaves incorrectly, no keys to bake error:IK to FK bake op IK to FK result
  • IK to FK (FK with keyframes on some of the same frames as IK) Behaves correctly:IK to FK bake op with keys IK to FK result with keys

Both also remove all but the last key on the FK/IK property, it should probably either remove all but the first, or keep and update all keys with the toggled value.

Adding detail to the keyframe part of this: When using Toggle and Bake IK/FK with Bake Keyframes In Range enabled, and Bake Every Frame disabled: - FK to IK (without existing keyframes on IK) Behaves correctly, keyframes are added to IK bones matching FK bones keyframes: ![FK to IK bake op](/uploads/1ba07b5d84be5393a077f7286d1489b5/image.png) ![FK to IK result](/uploads/a8f47e9739d97b8bde15110f98aa11c0/image.png) - IK to FK (without existing keyframes on FK) Behaves incorrectly, no keys to bake error:![IK to FK bake op](/uploads/46b56b52f2af7961d9311967dab0791a/image.png) ![IK to FK result](/uploads/692786fe973051a669b376c4384b2d95/image.png) - IK to FK (FK with keyframes on some of the same frames as IK) Behaves correctly:![IK to FK bake op with keys](/uploads/f32e2e5816107eb79b381ea119b8bbc4/image.png) ![IK to FK result with keys](/uploads/c99e0862f3f21fec4a78b1d6211e3649/image.png) Both also remove all but the last key on the FK/IK property, it should probably either remove all but the first, or keep and update all keys with the toggled value.

I recently re-wrote the keyframing code with two aspects that I think might have resolved this issue:

  • I'm ensuring bone matrices are being written hierarchically from top to bottom. I think sometimes this might not have been the case before.
  • I use two passes of matrix setting and keyframing because that seemed to work around similar issues to this one. Of course, that also means it's twice as expensive, and at the end of the day a pretty stupid solution.

it should probably either remove all but the first, or keep and update all keys with the toggled value.
And while I'm not fully sure I understand this suggestion, I did change the way the custom property is keyed to be much more useful and intuitive I think.

So, hopefully this is solved. Closing for now. Feel free to re-open if this still happens with newly created rigs in Blender 4.2.

I recently re-wrote the keyframing code with two aspects that I think might have resolved this issue: - I'm ensuring bone matrices are being written hierarchically from top to bottom. I think sometimes this might not have been the case before. - I use two passes of matrix setting and keyframing because that seemed to work around similar issues to this one. Of course, that also means it's twice as expensive, and at the end of the day a pretty stupid solution. > it should probably either remove all but the first, or keep and update all keys with the toggled value. And while I'm not fully sure I understand this suggestion, I did change the way the custom property is keyed to be much more useful and intuitive I think. So, hopefully this is solved. Closing for now. Feel free to re-open if this still happens with newly created rigs in Blender 4.2.
Sign in to join this conversation.
No description provided.