Log In
New Account
Home My Page Projects Blender 2.x BF release
Summary Activity Tracker SCM Files

Blender 2.6 Bug Tracker: Browse

[#28006] IK Constraint does not work correctly when root bone is scaled up.

Date:
2011-07-17 18:32
Priority:
3
State:
Open
Submitted by:
Ben Simonds (benjy)
Assigned to:
Brecht Van Lommel (blendix)
Category:
Animation system
Status:
Investigate
Relates to:
Duplicates:
Patches:
 
Summary:
IK Constraint does not work correctly when root bone is scaled up.
Detailed description
When working with a rig that has an IK constraint, such as a simple leg rig, scaling up the root bone causes the IK chain to behave incorrectly. It looks like what is happening is that the target for the IK chain is not scaling with the rig, despite the actual target bone scaling correctly.

This happens with the Legacy Ik solver, with iTaSC the target follows scaling correcly, but the bones in the IK chain do not!

See attached file and try scaling up the root bone.

Followup

Message
  • Date: 2011-07-20 18:48
  • Sender: Ton Roosendaal
  • Confirmed. Seems to be related to parented bones with off-set only. Connected bones scale better.
  • Date: 2011-07-26 09:05
  • Sender: Magus Freston
  • I found 4 bugs that are related, though 3 probably have the same cause. In the attached armrig.blend I have 6 duplicates of an arm rig demonstrating the bugs and two work arounds that may help. The arm rig has a parent with an ik chain (red) and an fk chain (blue), and the fk bones are constrained to copy the rotation of the ik ones.

    Problem1: if the ik and fk bones are asymmetrically scaled (say only in y dir) then the ik bones no longer track the target and the copy rotation is off too.

    Problem2: if the _object_ is scaled asymmetrically (in this case x) then neither the ik target nor the copy rotation works

    Problem3 is the one posted above, if the parent is scaled the ik target is offset by some factor that depends on distance in the direction that was scaled.

    These three problems seem to suggest there is some coordinate transformations missing from the solver

    Problem4: (arm bones scaled in y only as with problem 1) the ITaSC solver scales the ik bones back to 1. Happens as soon as the solver is chosen regardless of influence. The copy rotation is working correctly.

    there are a couple of work arounds for Problem 4:

    Sol1: Setting the solver to DLS, the ik constraint to use stretch, and the stretch factor in each bone to something small like 0.001. Setting the stretch to 0 wipes the scale of the bone, too large and the bone becomes stretchy.

    Sol2: scaling the ik bone in edit mode to match the scale of the fk bones in pose mode. No suprise this works but its a dumb solution.
  • Date: 2012-04-10 10:53
  • Sender: Vicente Carro
  • I was just about to post this bug but then I've found it was already posted... one year ago.
    Anyway, I've confirmed in current 2.62 (candidate 2.63) the bug(s) is exactly the same it was before.
    Fortunately the workarounds also are working, but IMHO this bug should be, from my ignorant point of view, quite easy to fix
    So, bump.
  • Date: 2012-10-21 17:28
  • Sender: Ton Roosendaal
  • Scaling in general is culprit for animation systems, and not simple or fun to get working in all cases.
    It's on the active list here though; Brecht can make this an active todo item for the wiki though. IK solver wasn't worked on in many years.
 

Attached Files:

Name Date Download
IK_ScaleFail.blend 2011-07-17 18:32 Download
armrig.blend 2011-07-26 09:05 Download

Changes:

Field Old Value Date By
File Added17177: armrig.blend2011-07-26 09:05magus
assigned_tonone2011-07-20 18:48ton
StatusNew2011-07-20 18:48ton
File Added17078: IK_ScaleFail.blend2011-07-17 18:32benjy